如何使用TextMode =“Date”将服务器端代码的值设置为asp.net TextBox?

我正在做一个演示应用程序,用于学习在asp.net文本框控件中引入的新HTML5输入类型(示例 – 日期,电子邮件等作为TextMode)的使用。

在我的示例页面中,我想使用asp:TextBox和TextMode =“Date”显示服务器端日期字段数据。

asp.net代码如下:

 

C#后端代码如下

 protected void Page_Load(object sender, EventArgs e) { txtExpenseDate.Text = DateTime.Now.ToString("MM/dd/yyyy"); } 

但是在页面加载时,日期值不会显示在文本框中。

我究竟做错了什么?

附录:刚才意识到,既然这是HTML5,我必须提到浏览器版本。 我使用的是最新的Google Chrome版本33.0.1750.117米。 这会将该字段显示为选择日期的日历,从而支持TextMode =“Date”属性的HTML5等效项。

问候,

萨米特

请尝试以下代码

  protected void Page_Load(object sender, EventArgs e) { this.txtExpenseDate.Text = DateTime.Now.ToString("yyyy-MM-dd"); } 

http://forums.asp.net/t/1856516.aspx?Problem+with+date+textmode+for+textbox+in+vs2012+net+4+5

但是在页面加载时,日期值不会显示在文本框中。

您需要在网页的Page_Load事件中设置TextBox控件的值

试试这个:

 protected void Page_Load(object sender, EventArgs e) { txtExpenseDate.Text = DateTime.Now.ToString("MM/dd/yyyy"); } 

您的TextMode设置为Date因此您需要将其精确地转换为日期格式,您可以选择将textmode设置为日期。 如下。

 this.txtExpenseDate.Text = DateTime.Now.ToString("yyyy-MM-dd"); this.txtExpenseDate.TextMode=TextBoxMode.Date;