2016-11-16 82 views
0

我在asp.net頁面中有這個代碼,可以將值分配給dtStart,但是如何將變量dtStart更新爲用戶手動輸入或修改的值txtStart控件框中的日期時間值?謝謝。當文本控制值發生變化時,asp.net將值賦給變量

protected void btnStart_Click(object sender, EventArgs e) 
    { 
     txtStart.Text = DateTime.Now.ToString(); 
     dtStart = DateTime.Now; 
    } 

回答

0

如果txtStart.Text包含文本,其中應該代表DateTime那麼你可以嘗試將其轉換爲正是:

DateTime dt; 
if (DateTime.TryParse(txtStart.Text, out dt)) 
    dtStart = dt; 

如果該值可能被解析到一個DateTime,它將被設置在dtStart變量中。如果沒有,它不會。 (您可以添加else子句,或完全反轉條件,以處理字符串值無法解析爲DateTime的情況。)

+0

感謝這對我有用。 – ikask

0

爲此目的,您不應該使用簡單的文本框,但有些日期選擇器控件或jQuery。

只有在這種情況下,如果您強制用戶設置格式正確的字符串作爲文本框中的日期,然後嘗試根據David的答案將字符串解析爲DateTime,則可以使用文本框。

+0

對日期選取器控件不熟悉,但是此控件對於捕獲日期時間值或僅日期很有用?我需要捕獲開始日期時間和結束日期時間值並計算已用時間。 – ikask

+0

我幾乎可以確定有很多DateTime控件也捕獲Time。或者您可以使用日期選擇器和時間選擇器控制器。那將是2。 –

+0

看看這個答案:http://stackoverflow.com/a/1469332/2183775 –