每次单击按钮时增加 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
更新了您的代码来处理这个问题。其他最简单的选择是将相同的内容存储在 Session
、Cache
或 Cookie
.
中
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();
}
我想在每次点击时增加日期 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
更新了您的代码来处理这个问题。其他最简单的选择是将相同的内容存储在 Session
、Cache
或 Cookie
.
While storing a value in
ViewState
, it will create ahidden
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();
}