ASP.NET点击图像增加和减少日期

问题描述:

我想增加&减少日期在图像点击是这样的。 '<'用于减少,'>'用于增量并在文本框中显示它们。我试着像下面的代码,但没有工作 好心帮我这样做ASP.NET点击图像增加和减少日期

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(); 
} 
+0

你可以发布一个断点到代码并到达那里。不知道按钮是否正常工作或其他问题。 – jdweng

+0

请告诉我们,什么是不工作。每次点击按钮时日期都一样吗?他们是否改变,但不是你需要的方式?你有没有发现异常? – Taosique

+0

@Taosique今天是2016年3月6日在吗?当我点击它更改为2016-03-07迄今为止好,但如果我再次点击它保持在2016年3月7日。我想要的是在evry点击添加一天。点击2016-03-07,点击2016-03-08,点击2016-03-09 ........每次我在我的图片上处理点击事件都要添加一天。 –

每次处理点击图片上的事件,将创建价值等于当前日期新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(); 
} 
+0

感谢您的回复。我不熟悉会议..有没有其他的方式来解决?再次感谢你。 –

+0

那么,你的方法从一开始就是错误的 - 每次用户点击一个图像来改变值时,真的不需要对服务器进行回发。它可以通过JavaScript完全处理客户端。 TL/DR:只需要会话代码,你会没事的。 – Taosique

+0

你能告诉我如何用Java编写代码吗?我尝试了一个小时,不能得到它...试着用onclick ='javascript:document.getElementById(“qty”)。value ++;'值='+'/但没有发生。我真的不知道如何编写代码,以及我的txtDate.Text来自Java的图片。再次感谢你! –

我认为你需要从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();   
} 

UPDATE

你只需要的DateTime.Now值加载到txtDate在第一页的负荷,在每一个岗位回来,不要设置它。

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

谢谢你的回应..但我有我的代码相同的问题。它只添加第一次点击。当我点击下一个点击时,它会保持在同一天。我希望每次点击时都会增加或减少。 –

+0

今天是2016-03-06对不起?当我点击它更改为2016-03-07迄今为止好,但如果我再次点击它保持在2016年3月7日。我想要的是在evry点击添加一天。点击2016-03-07,点击2016-03-08,点击2016-03-09 ........每次我在我的图片上处理点击事件都要添加一天。 –

+0

@JonasWillander:你是否在每个帖子后面都设置了txtDate.Text? –