当文本控件值更改时,Asp.net将值赋给变量

本文关键字:net Asp 变量 控件 文本 | 更新日期: 2023-09-27 18:18:28

我有这个代码在asp.net页面的工作分配值dtStart,但我如何更新变量dtStart什么用户手动输入或修改日期时间值在txtStart控制框?谢谢。

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

当文本控件值更改时,Asp.net将值赋给变量

如果txtStart.Text包含应该表示DateTime的文本,那么您可以尝试将其完全转换为

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

如果该值可以解析为DateTime,则将其设置在dtStart变量中。如果不是,它就不会是。(您可以添加else子句,或者完全反转条件,以处理字符串值无法解析为DateTime的情况。)

为了达到这个目的,你不应该使用一个简单的文本框,而应该使用一些日期选择器控件或jQuery。

文本框只有在这种情况下才能使用,如果你强迫用户在文本框中设置一个正确格式的字符串作为日期,然后尝试根据David的答案将字符串解析为DateTime