每按一次按钮,在ASP.net中增加变量

时间:2016-11-13 19:57:06

标签: asp.net datetime postback

我希望在每次单击ASP.NET时增加日期。 但每次页面回发时,它基本上都是从头开始 - 任何初始化为0的东西。 我需要在回发中坚持一个价值,但我不知道如何做到这一点。我将不胜感激任何帮助。 以下是我正在尝试做的事情:

int myNumber = 0;
protected void Button1_Click1(object sender, EventArgs e)
 {
  lblDate.Text = DateTime.Now.StartOfWeek(DayOfWeek.Monday).AddDays(myNumber).ToShortDateString();
    myNumber++;
 }


更新:
我的最终目标是下一周用下一个按钮获得第一天和上周,我的意思是我想要forword和backword ...

public int NextCount
 {
    get { return ViewState["Count"] != null ? (int)ViewState["Count"] : 7; }
    set { ViewState["Count"] = value; }
  }



protected void btnNext_Click1(object sender, EventArgs e)
        {

            lblsum.Text = DateTime.Now.StartOfWeek(DayOfWeek.Monday).AddDays(NextCount).ToShortDateString();
            NextCount = NextCount+7;
        }

protected void btnPrevious_Click(object sender, EventArgs e)
        {
            lblsum.Text = DateTime.Now.StartOfWeek(DayOfWeek.Monday).AddDays(NextCount).ToShortDateString();
            NextCount = NextCount - 7;
        }


但是当我单击上一个按钮..在两个或三个之后单击一下就会出现延迟单击然后当您从上一个到下一个单击时,下一个按钮的反应相同。也许我必须把它存放在会话中?

1 个答案:

答案 0 :(得分:0)

我已使用$stateChangeSuccess来处理此问题,从而更新了您的代码。其他最简单的选择是将其存储在ViewStateSessionCache中。

  

Cookie中存储值时,它会创建一个ViewState字段   在页面中并存储值以在回发中保持它。

hidden