我必须在页面首次加载时隐藏某些字段,但在第一篇文章中将页面发布到服务器之后我必须重新加载页面并显示字段,然后再次提交页面后我必须重定向到另一个页。我是通过以下代码
来完成的通过此字段设置计数器
private int Step
{
get { return (int)Session["step"]; }
set { Session["step"] = value; }
}
在Page Init中将其设置为0
protected void Page_Init(object sender, EventArgs e)
{
if (!IsPostBack)
{
if(Session["step"] == null || Step >= 2)
Step = 0;
}
}
在按钮保存事件
中 protected override void cmdNext_Click(object sender, EventArgs args)
{
this.SaveViewModel();
Step++;
if (Step > 1)
{
base.cmdNext_Click(sender, args);
}
else
{
Response.Redirect(Request.RawUrl);
}
}
这工作正常,但问题出现在用户保存页面后计数器变为1但是然后再次点击保存并增加变量,这会将页面重定向到另一个页面,用户重新启动进程然后获取再次到此页面,但计数器值为1,因为它没有增加,因此显示应该隐藏的字段。
主要是因为我使用Session来跟踪导致此问题的页数。
有人可以告诉我如何实现以下方案
再次单击保存后,计数器将重置,页面将重定向到另一页。
页面加载 - >有些字段隐藏了
页面已回发 - >使用显示
的隐藏字段重新加载同一页面
页面再次保存 - >重定向到另一页面
由于
答案 0 :(得分:0)
检查字段的可见性可能更容易
Page Loads -> Some fields Hidden
Page is posted back -> Reload the same page with the hidden fields showing
Page is saved again -> If a certain field (or fields) is/are visible, redirect.