【发布时间】:2014-02-02 19:14:08
【问题描述】:
我有一个使用 ASP.NET C# 进行服务器端脚本的网站,其中大部分服务器控件在 Page_Init 事件期间动态添加到页面上的 UpdatePanel 控件。以下sn-p的代码:
contentPanel.ContentTemplateContainer.Controls.Add(new LiteralControl("<script>" + clientScriptText + "</script>"));
存在于我的 Page_Init 事件中(contentPanel 是我的 UpdatePanel 的名称)。这个想法是,这将允许我从后面的代码中运行 JavaScript 'alert()' 函数——通过将“alert(\"--string--\")”设置为 'clientScriptText' 的值。我已经通过将此代码放入 UpdatePanel 的 PreRender 事件中对此进行了测试(因为它是 UpdatePanel 而不是页面的 PreRender 事件,所以它不应该是导致问题的 ASP.NET 页面生命周期因素,不是吗?),但是虽然事件触发,当页面呈现时不出现警报。我的代码如下所示:
protected void contentPanel_PreRender(object sender, EventArgs e)
{
clientScriptText = "alert(\"Hello\")";
contentPanel.Update(); //Doesn't work with or without this
}
任何人都可以看到可能有什么问题吗?谢谢。
【问题讨论】:
标签: c# asp.net updatepanel page-lifecycle