客户端回调检测用户名是否被注册

下面是MSDN绐出ClientScriptManager类的介绍

ClientScriptManager 类用于管理客户端脚本并将它们添加到 Web 应用程序中。可以从 Page 对象的 ClientScript 属性获取对 ClientScriptManager 类的引用。

通过在网页的 HTML 标记中包含脚本,可以声明方式向网页添加客户端脚本。然而,有些情况下需要动态添加客户端脚本。若要动态添加脚本,根据您想添加脚本的时间及方式,使用 RegisterClientScriptBlock 方法、RegisterClientScriptInclude 方法、RegisterStartupScript 方法或 RegisterOnSubmitStatement 方法。有关更多信息,请参见 如何:向 ASP.NET 网页动态添加客户端脚本

ClientScriptManager 类通过键 StringType 唯一地标识脚本。具有相同的键和类型的脚本被视为重复脚本。使用脚本类型有助于避免混淆可能用在页中的来自不同用户控件的相似脚本。

在期望不执行回发而从客户端运行服务器代码的情况下,可以使用 ClientScriptManager 类来调用客户端回调。这称为对服务器执行带外回调。在客户端回调中,客户端脚本函数向 ASP.NET 网页发送异步请求。网页修改其正常生命周期来处理回调。使用 GetCallbackEventReference 方法获取一个对客户端函数的引用,当调用该函数时,它将启动一个对服务器端事件的客户端回调。有关更多信息,请参见 在 ASP.NET 网页中不经过回发而实现客户端回调

Note注意

脚本回调不能在不支持文档对象模型 (DOM) 的较早浏览器中使用,并要求客户端启用 ECMAScript。若要检查客户端的浏览器是否支持回调,请使用 SupportsCallback 属性,该属性可以通过 ASP.NET Request 内部对象的 Browser 属性访问。

使用 GetPostBackEventReference 方法和 GetPostBackClientHyperlink 方法定义客户端回发事件。这些方法启用客户端脚本函数,在调用这些函数时,它们将促使服务器向该页回发。客户端回发与客户端回调的区别在于网页处理客户端回发事件要用完一个正常的生命周期。

Note注意

如果您在使用 Button 控件且 UseSubmitBehavior 属性设置为 false,则可以使用 GetPostBackEventReference 方法返回 Button 控件的客户端回发事件。

可以使用 Button 控件、ImageButton 控件和 LinkButton 控件的 OnClientClick 属性来运行客户端脚本。

现假设页面中的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);
还有实现System.Web.UI.ICallbackEventHandler接口成员
ICallbackEventHandler 成员
posted @ 2006-07-18 14:16 太阳 阅读(318) 评论(0) 编辑 收藏