我在一个页面上有几个Div标签,它们是动态的,也就是说,根据某些标准,它们对用户是可见的还是不可见的。我想将它们添加到页面的视图状态中,这样在回发时它们就不会再次隐藏,我该怎么做呢?
发布于 2009-07-22 02:42:33
如果你采用视图状态的方式,我会使用ASP.NET panels而不是div。它们呈现为div,所以它们正是您想要的。
发布于 2009-07-22 02:29:21
ViewState["divAVisible"] = true;
ViewState["divBVisible"] = false;然后在Page_Load中:
if (ViewState.ContainsKey("divAVisible"))
divA.Visible = ViewState["divAvisible"]
...面板定义为divA
或者,您可以将如下内容放入:
<div id="divA" runat="server">...</div>在您的aspx中,然后它将成为由VS生成的HtmlControl的实例。
发布于 2009-07-22 02:36:33
根据我对这个问题的理解,您似乎希望将DIVs标记为服务器控件。所以用runat=声明你的div是“服务器”。
<div id="testpanel" runat="server"></div>或者,您也可以使用asp:panel。然后,当您点击页面的Page_Load时,您可以测试回发并相应地更改可见性。
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
{
testpanel.Visible = true;
}
}但话又说回来,如果你不想让它作为服务器控件,这个解决方案就不会起作用。
https://stackoverflow.com/questions/1162660
复制相似问题