default.aspx <% @ Page Language = " C# " AutoEventWireup = " true " CodeFile = " Default.aspx.cs " Inherits = " _Default " %> <! 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 > CALLBACK </ title > < script type = " text/javascript " > var context; function CallServer() ... { var arg; context=cantainer; context.innerHTML="数据载入中……请稍等!"; arg="1"; <%=ClientScript.GetCallbackEventReference(this, "arg", "ReceiveServerData", "context")%>; } function ReceiveServerData(Result,context) ... { AddDropDownListItem(Result) ; context.innerHTML=""; context.display="none"; } function AddDropDownListItem(str) ... { var objItem=str.split('@'); var obj=document.getElementById("ddlSelectList"); obj.options.length=0; var i; for(i=0;i<objItem.length;i++) ...{ var item=objItem[i].split(';'); if(item[0]!=""&&item[1]!="") ...{ obj.options.add(new Option(item[0],item[1])); } } } function DdlChanged() ... { var obj=document.getElementById("ddlSelectList"); alert(obj.value); } function btnOnclick() ... { var obj=document.getElementById("ddlSelectList"); alert(obj.value); } </ script > </ head > < body > < form id = " form1 " runat = " server " > < div > < div id = " cantainer " ></ div > < input type = " text " name = " txtInput " id = " txtInput " onblur = " CallServer() " /> < p ></ p > < asp:DropDownList id = " ddlSelectList " style = " Z-INDEX: 101; LEFT: 192px; POSITION: absolute; TOP: 16px " runat = " server " onchange = " DdlChanged() " ></ asp:DropDownList > < p ></ p > < input id = " Button1 " type = " button " value = " button " onclick = " btnOnclick() " /> </ div > </ form > </ body > </ html > default.aspx.cs using System; using System.Data; using System.Configuration; 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; public partial class _Default : System.Web.UI.Page, ICallbackEventHandler ... { public string Result; protected void Page_Load(object sender, EventArgs e) ...{ if (!IsPostBack) ...{ } } ICallbackEventHandler 成员#region ICallbackEventHandler 成员 string ICallbackEventHandler.GetCallbackResult() ...{ string str= "Test;1@Test2;2@"; string strReturn; switch (Result) ...{ case "1": strReturn= GetString1(str); break; case "2": strReturn= GetString2(str); break; case "3": strReturn=GetString3(str); break; default: strReturn=GetString3(str); break; } return strReturn; } void ICallbackEventHandler.RaiseCallbackEvent(string eventArgument) ...{ Result = eventArgument; } public string GetString1(string s) ...{ return s; } public string GetString2(string s) ...{ return s; } public string GetString3(string s) ...{ return s; } #endregion}