ASP.NET UpdatePanel:在 UpdatePanel 更新上注入 Javascript
Posted
技术标签:
【中文标题】ASP.NET UpdatePanel:在 UpdatePanel 更新上注入 Javascript【英文标题】:ASP.NET UpdatePanel: Injecting Javascript on UpdatePanel update 【发布时间】:2012-12-05 23:30:43 【问题描述】:以下从更新的UpdatePanel
的内容中注入 JavaScript 的解决方案是否有任何潜在的副作用?
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>
点击Button
的代码隐藏显示面板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。
这是有原因的吗?安全可能吗?
【问题讨论】:
【参考方案1】:你可以使用ScriptManager
类的RegisterClientScriptBlock静态方法
【讨论】:
以上是关于ASP.NET UpdatePanel:在 UpdatePanel 更新上注入 Javascript的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET DropDown SelectedIndexChanged 未在 Firefox 中使用 UpdatePanel 触发
Asp.net WebForm 中 UpdatePanel 内的模板文本框字段
Asp.Net,UpdatePanel 中的文本框文本更改问题