C# html标记的EnableViewState
我是新来的,我想问一个问题。请查看html和代码隐藏 HTMLC# html标记的EnableViewState,c#,jquery,html,css,asp.net,C#,Jquery,Html,Css,Asp.net,我是新来的,我想问一个问题。请查看html和代码隐藏 HTML <ul id="menu" runat="server" EnableViewState="True"></ul> 回发后,UL数据将丢失,尽管我已启用viewstate。我记得上次它能用,但现在不行了。有人能给我建议吗?非常感谢发生这种情况是因为您正在通过第一次加载动态添加数据(!IsPostback),然后(当Page\u load再次运行时)数据将丢失。您必须记住,EnableViewState是AS
<ul id="menu" runat="server" EnableViewState="True"></ul>
回发后,UL数据将丢失,尽管我已启用viewstate。我记得上次它能用,但现在不行了。有人能给我建议吗?非常感谢发生这种情况是因为您正在通过第一次加载动态添加数据(!
IsPostback
),然后(当Page\u load
再次运行时)数据将丢失。您必须记住,EnableViewState
是ASP.NET特有的属性,因此它只能在继承自System.Web.UI.Control
实现这一点的唯一方法是在每次加载页面时创建html标记(即删除!IsPostBack
检查)
或者向支持ViewState(Gridview、ListView、Label、Button等)的页面添加ASP.NET控件
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
var liItem = new HtmlGenericControl("li");
var aItem = new HtmlGenericControl("a");
liItem.Attributes.Add("class", "test");
aItem.Attributes.Add("href", "#");
aItem.InnerText = "please work";
liItem.Controls.Add(aItem);
menu.Controls.Add(liItem);
}
}