Clinet端:
<%@ Page Language="C#" CodeFile="ClientCallbacksSimple.aspx.cs" Inherits="ClientCallbacksSimple" %>
<!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 runat="server">
<title>未命名页面</title>
<script type="text/JavaScript">
function OnCallback(txtUserInfo,context)
{
Results.innerText = txtUserInfo;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
姓名:<input id="txtUserName" type="text" />
<input id="btnCallback" type="button" value="Callback" οnclick="<%= ClientScript.GetCallbackEventReference(this,"document.form1.txtUserName.value","OnCallback",null) %>" /><br />
<div ID="Results" style="background-color: pink"></div>
</div>
</form>
</body>
</html>
Server端
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.Data.SqlClient;
public partial class ClientCallbacksSimple : System.Web.UI.Page, System.Web.UI.ICallbackEventHandler
{
protected string txtUserInfo; //用户基本信息
protected void Page_Load(object sender, EventArgs e)
{
}
//引发Callback事件处理
public void RaiseCallbackEvent(string txtFirstName)
{
if (txtFirstName != null)
{
SqlConnection conn = new SqlConnection("data source=.;initial catalog=Northwind;user id=sa;password=test");
conn.Open();
SqlCommand cmd = new SqlCommand("select EmployeeID,FirstName,City,Address from Employees where FirstName=@FirstName", conn);
cmd.Parameters.Add("@FirstName", SqlDbType.NVarChar, 10).Value = txtFirstName;
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read())
{
txtUserInfo = "员工代号:" + dr["EmployeeID"] + "/r/n";
txtUserInfo += "姓名:" + dr["FirstName"] + "/r/n";
txtUserInfo += "居住城市:" + dr["City"] + "/r/n";
txtUserInfo += "地址:" + dr["Address"].ToString().Replace("/r/n","")+ "/r/n";
txtUserInfo += "服务器查询时间:" + DateTime.Now.ToLongTimeString();
}
else
{
if (String.IsNullOrEmpty(txtFirstName))
{
txtUserInfo = "请输入姓名";
}
else
{
txtUserInfo = "查无此人!";
}
}
cmd.Dispose();
dr.Dispose();
conn.Dispose();
}
}
//返回Callback结果
public string GetCallbackResult()
{
return txtUserInfo; //返回员工基本信息
}
}