2016-03-06 40 views
0

我想增加&減少日期在圖像點擊是這樣的。 '<'用於減少,'>'用於增量並在文本框中顯示它們。我試着像下面的代碼,但沒有工作 好心幫我這樣做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 ........每次我在我的圖片上處理點擊事件都要添加一天。 –

回答

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

感謝您的回覆。我不熟悉會議..有沒有其他的方式來解決?再次感謝你。 –

+0

那麼,你的方法從一開始就是錯誤的 - 每次用戶點擊一個圖像來改變值時,真的不需要對服務器進行回發。它可以通過JavaScript完全處理客戶端。 TL/DR:只需要會話代碼,你會沒事的。 – Taosique

+0

你能告訴我如何用Java編寫代碼嗎?我嘗試了一個小時,不能得到它...試着用onclick ='javascript:document.getElementById(「qty」)。value ++;'值='+'/但沒有發生。我真的不知道如何編寫代碼,以及我的txtDate.Text來自Java的圖片。再次感謝你! –

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

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? –