每次单击按钮时增加 ASP.net 中的变量

Incrementing variables in ASP.net on every button click

我想在每次点击时增加日期 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++;
 }


更新:
我的最终目标是让下周第一天有下一个按钮和上一周,我的意思是我想前言和后语...

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;
        }


但是,当我单击“上一个”按钮时……单击两下或三下后单击一次会出现延迟,然后当您从上一个按钮单击到下一个时,反应与下一个按钮相同。也许我必须将它存储在会话中?

我已经使用 ViewState 更新了您的代码来处理这个问题。其他最简单的选择是将相同的内容存储在 SessionCacheCookie.

While storing a value in ViewState, it will create a hidden field in the page and store the value to maintain it across the postback.

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

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

    }

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

        }