如何在Detailview中插入格式(“MM / dd / yyyy”)的日期字段?

时间:2012-04-04 16:18:29

标签: asp.net .net datetime

我正在尝试将带有“MM / dd / yyyy”格式的日期插入到详细视图中的日期格式字段中。但我得到错误消息:

 String was not recognized as a valid DateTime

我试过像

<asp:TextBox ID="TextBox2" runat="server" 
Text='<%# Bind("RenewalDate","{0,MM/dd/yyyy}")%>' ></asp:TextBox>

如何以格式MM / dd / yyyy ????

插入日期

3 个答案:

答案 0 :(得分:3)

格式字符串无效。占位符后面需要冒号而不是逗号:

Text='<%# Bind("RenewalDate","{0:MM/dd/yyyy}")%>'

这应该可以解决问题,假设RenewalDateDateTime列。如果它不是DateTime列,则您需要在应用格式之前对其进行转换:

Text='<%# Convert.ToDateTime(Bind("RenewalDate")).ToString("MM/dd/yyyy") %>'

修改

要确保输入有效,您可以添加比较和必需的字段验证器:

<asp:RequiredFieldValidator ID="reqDateValidator" runat="server" Display="Dynamic" ErrorMessage="*" ControlToValidate="TextBox1" />
<asp:CompareValidator
    id="dateValidator" runat="server" 
    Type="Date"
    Operator="DataTypeCheck"
    ControlToValidate="TextBox1" 
    ErrorMessage="Invalid Date">
</asp:CompareValidator>

答案 1 :(得分:0)

从数据库导入的RenewalDate 是有效的DateTime对象。

否则 - 它不会显示此错误。

显示您获得该值的查询。

答案 2 :(得分:0)

您可以查看有关如何设置日期值格式的文章 Custom dates format