我有如下所示的财产
private int Step
{
get { return (int)Session["step"]; }
set { Session["step"] = value; }
}
在Page_Init
方法中,我将其初始化为
protected void Page_Init(object sender, EventArgs e)
{
if (!IsPostBack)
{
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); //reloading the page again
}
}
问题是,第一次重新加载页面时,Page_Init
方法再次将变量设置为0,因此它永远不会超过1.有人可以告诉我如何加载同一页面第一个按钮单击并在第二个按钮单击后移动到其他页面?
由于
答案 0 :(得分:1)
您可以在初始化
之前检查Session是否为nullprotected void Page_Init(object sender, EventArgs e)
{
if (!IsPostBack && Session["step"] == null)
{ Step = 0; }
}