ASP.NET c#在每次单击按钮时按日期数增加日期值

时间:2016-05-24 13:04:35

标签: c# asp.net

我在这里看了但是我找不到我想做的事情。

我只是为一个按钮设置了一个onclick事件,我希望每次单击按钮时都会将标签的日期值增加任意天数。 所以我们说这个数字是2天。如果标签的当前值是5/1/2016,当我点击按钮时,它应该是5/3/2016,如果再次是5/5/2016,依此类推。我可以让它在第一次点击时更新一次,但不会在第二次点击时更新。这是我的代码

protected void NDateOn_Click(object sender, EventArgs e)
    { 
      lblCurrentDate.Text = DateTime.Today.AddDays (2).ToString ("dd");
    }

我知道它与“今天”有关,但我不知道该怎么办 我提前感谢任何帮助。

2 个答案:

答案 0 :(得分:4)

问题是您每次都要在2天内添加日期。你想要做的是将2存储在已存储的日期。你会想做这样的事情(警告:没有尝试过编译)。

lblCurrentDate.Text = DateTime.Parse(lblCurrentDate.Text).AddDays(2).ToString("MM/DD/YYYY");

传递给ToString()的参数格式化日期时间。您可以修改它以获得不同的格式。如果您只想存储日期而不是月/年,那么您可能需要做更多的工作。希望这会有所帮助。

答案 1 :(得分:0)

您需要在viewstate中维护数据,每个按钮点击增加2

  protected void Button1_Click(object sender, EventArgs e)
        {            
            if (ViewState["datacount"] == null)
            {
                ViewState["datacount"] = 0;
            }
            ViewState["datacount"] = ((int)ViewState["datacount"]) + 2;
            Label1.Text = DateTime.Today.AddDays((int)ViewState["datacount"]).ToString("dd");
        }

我希望这可能对你有所帮助

注意:viewstate数据只能维护在同一页面中,可以在多个页面中维护