客户端回调检测用户名是否被注册
ClientScriptManager 类用于管理客户端脚本并将它们添加到 Web 应用程序中。可以从 Page 对象的 ClientScript 属性获取对 ClientScriptManager 类的引用。
通过在网页的 HTML 标记中包含脚本,可以声明方式向网页添加客户端脚本。然而,有些情况下需要动态添加客户端脚本。若要动态添加脚本,根据您想添加脚本的时间及方式,使用 RegisterClientScriptBlock 方法、RegisterClientScriptInclude 方法、RegisterStartupScript 方法或 RegisterOnSubmitStatement 方法。有关更多信息,请参见
ClientScriptManager 类通过键
在期望不执行回发而从客户端运行服务器代码的情况下,可以使用 ClientScriptManager 类来调用客户端回调。这称为对服务器执行带外回调。在客户端回调中,客户端脚本函数向 ASP.NET 网页发送异步请求。网页修改其正常生命周期来处理回调。使用 GetCallbackEventReference 方法获取一个对客户端函数的引用,当调用该函数时,它将启动一个对服务器端事件的客户端回调。有关更多信息,请参见
注意 |
|---|
|
脚本回调不能在不支持文档对象模型 (DOM) 的较早浏览器中使用,并要求客户端启用 ECMAScript。若要检查客户端的浏览器是否支持回调,请使用 |
使用 GetPostBackEventReference 方法和 GetPostBackClientHyperlink 方法定义客户端回发事件。这些方法启用客户端脚本函数,在调用这些函数时,它们将促使服务器向该页回发。客户端回发与客户端回调的区别在于网页处理客户端回发事件要用完一个正常的生命周期。
注意 |
|---|
|
如果您在使用 |
可以使用 Button 控件、
现假设页面中的TextBox txtUserName是用户输入要注册的用户名,<span ID="Results"></span>是动态的显示是否注册
下面是在页面中注册JavaScript包括三个函数GetUserName,ReceiveServerData,CallTheServeer
string clientscript;
clientscript = "function GetUserName() { var username = document.getElementById('" + txtUserName.ClientID + "').value; CallTheServer(username,''); }";
clientscript += "function ReceiveServerData(rValue) { Results.innerHTML = rValue; }";
clientscript += "function CallTheServer(arg,context)" + "{ " + cbReference + "} ;";
String cbReference = Page.ClientScript.GetCallbackEventReference(this,"arg", "ReceiveServerData", "context");
Page.ClientScript.RegisterStartupScript(this.GetType(), "abcdefg", clientscript, true);
ICallbackEventHandler 成员#region ICallbackEventHandler 成员
protected string result;
public string GetCallbackResult()
{
return result;
}
public void RaiseCallbackEvent(string eventArgument)
{
MembersBLL mb = new MembersBLL();
if (mb.GetUser(eventArgument) == null)
result= "用户名"+ eventArgument + "还未被注册";
else
result= "用户名" + eventArgument + "已经被注册了";
}
#endregion


注意