C# 页眉内控件上的ViewState
我将我的js文件添加到代码背后的头中,如下所示:C# 页眉内控件上的ViewState,c#,asp.net,webforms,header,viewstate,C#,Asp.net,Webforms,Header,Viewstate,我将我的js文件添加到代码背后的头中,如下所示: protected void Page_PreRender(object sender, EventArgs e) { if (!IsPostBack) { HtmlGenericControl js = new HtmlGenericControl("script"); js.Attributes["type"] = "text/javascript";
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,或者每次添加js时必须删除(!IsPostBack)条件吗?控件是动态添加的,并且只有在
时才添加!IsPostBack
,ViewState可以保留值和状态,但控件必须在页面上独立存在
在您的情况下,回发后将不会添加控件,因此即使
ViewState
包含其状态,也没有可附加此状态的控件。p.S.无论如何,除了我下面的答案之外,这肯定不是在aspx页面中包含jquery的常用方法!我知道这并不常见,但我需要这样做,因为有动态的目的,某些jquery插件应该包含某些js文件,但它们可能会被另一个插件包含。您可能应该使用脚本管理器或以正确的方式执行此操作:)我尝试使用占位符或将js文件附加到母版页标题内容,但没有成功,因此标题上似乎根本没有Viewstate