Ale*_*ois 23 c# asp.net .net-2.0
我希望在asp.net回发之后执行一个javascript函数,而不使用ajax.
我在偶数方法中尝试了以下方法但没有运气:
Page.ClientScript.RegisterStartupScript(GetType(), "ShowPopup", "showCheckOutPopIn('Livraison',556);");
Run Code Online (Sandbox Code Playgroud)
reS*_*Ned 46
您应该使用ScriptManager类,因为不推荐使用Page.ClientScript属性...
ClientScriptManager类是ASP.NET 2.0中的新增类,它取代了用于管理现已弃用的脚本的Page类方法.
参考:MSDN - Page.ClientScript属性
ScriptManager的优点是它可以与异步回发一起使用,因此如果您使用的是AJAX,它将无法与ClientScriptManager一起使用.
您的代码如下所示:
ScriptManager.RegisterStartupScript(this, this.GetType(), "ShowPopup", "showCheckOutPopIn('Livraison',556);", true);
Run Code Online (Sandbox Code Playgroud)
另请注意,如果您使用的是AJAX并且有一段javascript代码,您希望在多个回发中执行,那么您应该在第一个参数中引用您的UpdatePanel,例如:
ScriptManager.RegisterStartupScript(MainUpdatePanel, typeof(string), "ShowPopup", "showCheckOutPopIn('Livraison',556);", true);
Run Code Online (Sandbox Code Playgroud)
解
我需要使用以下重载添加脚本标记.
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "script", "alert('Success!');", true);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
63825 次 |
| 最近记录: |