代码范例:(1)apsx_code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ASP.NET 2.0 页面提交无刷新演示</title>
</head>
<body>
<script type="text/javascript">
function CallServer1(inputcontrol, context)
{
context.innerHTML = "<IMG SRC='images/pie.gif' />Loading...";
arg = 'ServerMethod1|' + inputcontrol.value;
<%= ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData1", "context")%>;
}
function ReceiveServerData1(result, context)
{
context.innerHTML = context.id + ":" + result;
}
</script>
<form id="form1" runat="server">
<div>
<h1>Demo1:html按钮提交数据</h1><br />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<input id="Button1" type="button" value="提交到Label1" onclick="CallServer1(TextBox1, Label1)"/>
<input id="Button2" type="button" value="提交到Label2" onclick="CallServer1(TextBox1, Label2)"/>
<br />
<asp:Label ID="Label1" runat="server" Text="Label1:"></asp:Label>
<br />
<asp:Label ID="Label2" runat="server" Text="Label2:"></asp:Label>
</div>
<hr />
<div>
<h1>Demo2:服务器按钮提交数据</h1><br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Button ID="Button3" runat="server" Text="Button" /><br />
<asp:Label ID="Label3" runat="server" Text="Label3:"></asp:Label></div>
<hr />
<div>
</div>
</form>
</body>
</html>
(2)cs_code:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Globalization;
public partial class test : System.Web.UI.Page, ICallbackEventHandler
{
protected void Page_Load(object sender, EventArgs e)
{
//注册客户端事件处理方法
Button3.Attributes.Add("onclick", "CallServer1(TextBox2, Label3);return false;");
// DropDownList1.Attributes.Add("onchange", "CallServer2(this)");
}
private string serverReturn;
public string GetCallbackResult()
{
//为便于查看加载效果,添加延时
System.Threading.Thread.Sleep(2000);
string[] parts = serverReturn.Split('|');
//根据传递的方法名进行调用,并传递相应的参数,目前只支持一个参数
return (string)GetType().GetMethod(parts[0]).Invoke(this, new object[] { parts[1] });
}
public void RaiseCallbackEvent(string eventArgument)
{
serverReturn = eventArgument;
}
//根据从客户端传来的英文国家名或缩写,翻译成相应的中文国家名
public string ServerMethod1(string arg)
{
string s;
switch (arg.ToLower())
{
case "china":
s = "中国";
break;
default:
s = "未知国家";
break;
}
return s;
}
}