ASP.NET增加&单击图像减少日期

时间:2016-03-06 13:15:53

标签: c# asp.net date webforms

我想增加&减少图像上的日期点击这样。 '<'减少和''增量并在文本框中显示它们。我尝试了下面的代码,但没有工作 请帮助我这样做

protected void ImageButtonNextDate_Click(object sender, ImageClickEventArgs e)
{                        
    DateTime date = DateTime.Now;
    DateTime nextday = date.AddDays(1);

    txtDate.Text = nextday.ToShortDateString();
}

protected void ImageButtonPrevDate_Click(object sender, ImageClickEventArgs e)
{
    DateTime date = DateTime.Now;
    DateTime nextday = date.AddDays(-1);

    txtDate.Text = nextday.ToShortDateString();
}

2 个答案:

答案 0 :(得分:0)

每次处理图片上的点击事件时,都会创建一个新的date变量,其值等于当前日期。您需要以某种方式在点击之间存储数据,以便为下一个事件保留数据。有多种方法可以实现,例如,会话变量:

protected void ImageButtonPrevDate_Click(object sender, ImageClickEventArgs e)
{
    DateTime date = Session["MyDateVariable"] as DateTime ?? DateTime.Now;
    DateTime nextday = date.AddDays(-1);
    Session["MyDateVariable"] = nextday;
    txtDate.Text = nextday.ToShortDateString();
}

答案 1 :(得分:0)

我认为您需要从txtDate获取当前值,然后执行逻辑。

protected void ImageButtonNextDate_Click(object sender, ImageClickEventArgs e)
{
    txtDate.Text = (Convert.ToDateTime(txtDate.Text).AddDays(1)).ToShortDateString();                   
}
protected void ImageButtonPrevDate_Click(object sender, ImageClickEventArgs e)
{
    txtDate.Text = (Convert.ToDateTime(txtDate.Text).AddDays(-1)).ToShortDateString();          
}

<强>更新

您只需在首页加载时将DateTime.Now的值加载到txtDate,在每个帖子上都不要设置它。

if(!IsPostBack()){
   txtDate.Text = DateTime.Now.ToShortDateString();
}