在 asp.net 4.5 之前的过去,我们可以轻松地将日期绑定到 Gridview、Formview 或其他数据绑定控件,并使用简单的格式字符串使其看起来像样。
<asp:TextBox
ID="DateFieldTextBox"
runat="server"
Text='<%# Bind("DateField","{0:d}") %>'/>
新的强类型模型绑定有点困难。
<asp:TextBox
ID="DateFieldTextBox"
runat="server"
Text='<%# BindItem.DateField %>'/>
会起作用,但会产生完整的日期/时间字符串,而不仅仅是日期。
<asp:TextBox
ID="DateFieldTextBox"
runat="server"
Text='<%# BindItem.DateField.ToShortDateString() %>'/>
.. 这应该可以工作,但它会产生编译时错误“BindItem 的代码语法无效”。Item.DateField.ToShortDateString() 有效,但不绑定回发。
现在我们已经恢复到旧语法,但我们希望获得现代编译时间检查,但仍然能够很好地格式化日期。其他人之前遇到过这个吗?