2016-11-16 46 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 –