【问题标题】:Running Javascript after a ASP.NET postback from a client script block injected from a master page在从母版页注入的客户端脚本块进行 ASP.NET 回发后运行 Javascript
【发布时间】:2011-03-28 13:36:14
【问题描述】:

在从母版页注入的客户端脚本块进行 ASP.NET 回发后,我无法运行 Javascript

下面是我的母版页逻辑,它在回发时被击中,我用断点确认。

namespace MyAwesomeProjectThatWillTakeOverTheWorldIfNotForThisIssue
{
    public partial class CommonContent : MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Page.ClientScript.RegisterClientScriptBlock(GetType(), 
            "script", 
            "alert('Success!');", 
            true);
        }
    }
}

问题是警报弹出窗口只出现在第一次加载时而不是回发时。

我做错了什么?

【问题讨论】:

    标签: javascript asp.net asp.net-ajax postback


    【解决方案1】:

    如果这是一个 ajax 触发的回发,您需要使用 Scriptmanager.registerstartupscript

    【讨论】:

    • 尝试引用当前子页面并将其传递给脚本管理器。
    【解决方案2】:

    如果您使用的是 ASP.NET AJAX,并且页面上有脚本管理器,请考虑使用ScriptManager.RegisterStartupScript()

    【讨论】:

    • @Achilles,老实说,如果没有 Intellisense,我会死在水里,ScriptManagerPage.ClientScript 之间的方法名称和范围(静态与实例)之间存在细微差别。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 2020-06-05
    • 2010-09-06
    • 1970-01-01
    • 2010-12-20
    相关资源
    最近更新 更多