【发布时间】: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。
这是有原因的吗?安全可能吗?
【问题讨论】:
标签: javascript asp.net updatepanel javascript-injection