3

以下从更新内容中注入 JavaScript 的解决方案是否有任何潜在的副作用UpdatePanel

看起来的代码是UpdatePanel这样的:

<asp:UpdatePanel>
    <asp:PlaceHolder ID="pnlScriptContent" Visible="false" runat="server">
        <script id="script-content">
            alert('Script was loaded correctly!');
        </script>
    </asp:PlaceHolder>

    <asp:Button OnClick="ButtonClick" OnClientClick="LoadScript()" />
</asp:UpdatePanel>

点击后的代码隐藏ButtonPanel pnlScriptContent

protected void ButtonClick(object sender, EventArgs args)
{
    pnlScriptContent.Visible = true;
}

JavaScript 代码如下所示:

var LoadScript = function() {
    Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function (sender, args) {
        eval($('#script-content').html());
    };
}

我已经看到了在 UpdatePanel 更新后注入 JavaScript 的其他解决方案,但没有任何方法允许script在内容中的 -tags 内注入 JavaScript。

这有什么原因吗?安全可能吗?

4

1 回答 1

0

您可以使用类的RegisterClientScriptBlock静态方法ScriptManager

于 2012-12-19T09:03:43.543 回答