【发布时间】:2011-08-30 15:07:02
【问题描述】:
我目前正在阅读一本关于 ASP.NET 的书,但我对一个概念有点困惑。
我一直认为,如果回发没有存储在视图状态、会话状态等中,则无法保存任何值。但是,现在我阅读了有关使用面板在一个页面中具有多视图内容的信息。 我有以下代码:
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
Panel1.Visible = true;
Panel2.Visible = false;
Panel3.Visible = false;
}
}
protected void GoNext_Click(object sender, EventArgs e)
{
if (Panel1.Visible)
{
Panel1.Visible = false;
Panel2.Visible = true;
}
else if (Panel2.Visible)
{
Panel2.Visible = false;
Panel3.Visible = true;
}
else if (Panel3.Visible)
{
Panel3.Visible = false;
Panel1.Visible = true;
}
}
该代码令人困惑的部分是,例如,当我让 Panel3 可见时,ASP.NET 怎么知道也隐藏 Panel1? (因为在前面的 else if 语句中,我只告诉 ASP.NET 隐藏 Panel2 并显示 Panel3,但我没有告诉 Panel1)。
这些值是否存储在 ViewState 中?
【问题讨论】: