使用AJAX.ScriptManager时注册脚本的方法
2014-11-27 10:50
260 查看
如果页面中不用Ajax,cs中运行某段js代码方式可以是:
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>window.open('default2.aspx')</script>");
如果页面中使用了Ajax ,则上述代码即使执行也无效果。
如果页面中Response.Write(),Page.RegisterStartScript()等方法,会弹出提示信息:
Sys.WebForms.PageRequestManagerErrorException:The message received from the server could not be parsed
对这种情况我们通常采用:
ScriptManager.RegisterStartupScript(this.Button1, this.GetType(), "alertScript", "window.open('default2.aspx');", true);
备注:
使用 RegisterStartupScript 方法,可为与部分页面呈现兼容且不具有 Microsoft AJAX Library 依赖项的页面注册启动脚本块。 仅当正在注册该块的控件位于要更新的 UpdatePanel 控件内时,才将通过使用此方法注册的启动脚本块发送到页面。 若要在每次发生异步回发时都注册启动脚本块,请使用该方法的 RegisterStartupScript(Page, Type, String, String, Boolean) 重载。
如果要注册与部分页面更新无关的启动脚本,并且只想在初始页面呈现期间注册一次该脚本,请使用 ClientScriptManager 类的 RegisterStartupScript方法。 可以从页面的 ClientScript 属性获取对 ClientScriptManager 对象的引用。
RegisterStartupScript 方法所呈现的脚本块会在页面完成加载之时、但页面的客户端 onload 事件引发之前执行。 启动脚本块位于呈现的 ASP.NET 页面底部的 </form> 标记之前。
不能保证使用 RegisterStartupScript 注册的启动脚本块按照其注册顺序输出。 如果启动脚本块的顺序很重要,请使用 StringBuilder 对象将脚本块集中到一个字符串中,然后将它们作为单个启动脚本进行注册。
使用样例代码:
//普通ASP.NET应用程序中的应用
ScriptManager.RegisterStartupScript(this.Updatanel1, this.GetType(), "", "alert('您是管理员,登录成功!');", true);
//在AJAX环境下的应用
ScriptManager.RegisterStartupScript(UpdatePanel1,typeof(UpdatePanel),"scriptname","alert('您是管理员,登录成功!');",true);
Page.ClientScript.RegisterStartupScript(Page.GetType(), "", "<script>window.open('default2.aspx')</script>");
如果页面中使用了Ajax ,则上述代码即使执行也无效果。
如果页面中Response.Write(),Page.RegisterStartScript()等方法,会弹出提示信息:
Sys.WebForms.PageRequestManagerErrorException:The message received from the server could not be parsed
对这种情况我们通常采用:
ScriptManager.RegisterStartupScript(this.Button1, this.GetType(), "alertScript", "window.open('default2.aspx');", true);
public static void RegisterStartupScript( Control control, Type type, string key, string script, bool addScriptTags ) 参数: control 类型: System.Web.UI. Control 正在注册该客户端脚本块的控件。 type 类型: System. Type 该客户端脚本块的类型。通常使用 typeof 运算符 (C#) 或 GetType 运算符 (Visual Basic) 来指定该参数,以检索正在注册该脚本的控件的类型。 key 类型: System. String 该脚本块的唯一标识符。 script 类型: System. String 脚本。 addScriptTags 类型: System. Boolean 如果用 <script> 和 </script> 标记括起该脚本块,则为 true;否则为 false。
备注:
使用 RegisterStartupScript 方法,可为与部分页面呈现兼容且不具有 Microsoft AJAX Library 依赖项的页面注册启动脚本块。 仅当正在注册该块的控件位于要更新的 UpdatePanel 控件内时,才将通过使用此方法注册的启动脚本块发送到页面。 若要在每次发生异步回发时都注册启动脚本块,请使用该方法的 RegisterStartupScript(Page, Type, String, String, Boolean) 重载。
如果要注册与部分页面更新无关的启动脚本,并且只想在初始页面呈现期间注册一次该脚本,请使用 ClientScriptManager 类的 RegisterStartupScript方法。 可以从页面的 ClientScript 属性获取对 ClientScriptManager 对象的引用。
RegisterStartupScript 方法所呈现的脚本块会在页面完成加载之时、但页面的客户端 onload 事件引发之前执行。 启动脚本块位于呈现的 ASP.NET 页面底部的 </form> 标记之前。
不能保证使用 RegisterStartupScript 注册的启动脚本块按照其注册顺序输出。 如果启动脚本块的顺序很重要,请使用 StringBuilder 对象将脚本块集中到一个字符串中,然后将它们作为单个启动脚本进行注册。
使用样例代码:
//普通ASP.NET应用程序中的应用
ScriptManager.RegisterStartupScript(this.Updatanel1, this.GetType(), "", "alert('您是管理员,登录成功!');", true);
//在AJAX环境下的应用
ScriptManager.RegisterStartupScript(UpdatePanel1,typeof(UpdatePanel),"scriptname","alert('您是管理员,登录成功!');",true);
相关文章推荐
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
- 使用ClientScriptManager向客户端注册脚本
- 使用ClientScriptManager向客户端注册脚本
- UpdatePanel中使用脚本文件(ScriptManager.RegisterStartupScript 方法)
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
- 使用ClientScriptManager向客户端注册脚本
- asp.net ajax后台使用JS脚本.需要使用ScriptManager..::.RegisterStartupScript 方法
- 使用 ClientScriptManager 类的 RegisterClientScriptBlock方法添加客户端脚本
- 使用ClientScriptManager向客户端注册脚本
- 使用ClientScriptManager向客户端注册脚本
- ScriptManager.RegisterStartupScript()方法在ajax页面无效的解决方法
- ScriptManager.RegisterStartupScript()方法在ajax页面无效
- ASP.NET中使用后端代码注册脚本 生成JQUERY-EASYUI的界面错位的解决方法
- ClientScriptManager与ScriptManager向客户端注册脚本的区别
- 重载页面事件,以及在基类中使用注册脚本 RegisterStartupScript 无效的问题
- 在UpdatePanel使用脚本的方法(AJAX)
- ScriptManager.RegisterStartupScript()方法在ajax页面无效
- ASP.NET AJAX - 内容页面一定要使用 ScriptManagerProxy 控件吗?
- 脚本引擎注册将要使用的类,属性,方法,函数