【发布时间】:2011-09-21 21:32:10
【问题描述】:
我正在将我的 js 文件添加到代码隐藏的标题中,如下所示:
protected void Page_PreRender(object sender, EventArgs e)
{
if (!IsPostBack)
{
HtmlGenericControl js = new HtmlGenericControl("script");
js.Attributes["type"] = "text/javascript";
js.Attributes["src"] = "/js/jquery.js";
js.ID = "jquery";
js.EnableViewState = true;
Page.Header.Controls.Add(js);
}
}
这在页面加载时效果很好,但是我在回发时丢失了我的 js,我希望我的控件在启用 HtmlGenericControl 的 ViewState 后仍然存在......
有什么方法可以将 ViewState 保留在标题上,还是我必须删除 if (!IsPostBack) 条件才能每次都添加 js?
【问题讨论】:
-
P.S.无论如何,除了我下面的答案之外,这肯定不是在 aspx 页面中包含 jquery 的常用方法!
-
我知道这并不常见,但由于动态目的我需要,某些 js 文件应该包含在某些 jquery 插件中,但它们之前可能会被另一个插件包含
-
那么您应该使用脚本管理器或以正确的方式进行操作:)
标签: c# asp.net webforms header viewstate