Joh*_*oge 8 asp.net-4.5 visual-studio-2012
在asp.net 4.5之前的旧时代,我们可以轻松地将日期绑定到Gridview,Formview或其他数据绑定控件,并使其看起来像一个简单的格式字符串.
<asp:TextBox
ID="DateFieldTextBox"
runat="server"
Text='<%# Bind("DateField","{0:d}") %>'/>
Run Code Online (Sandbox Code Playgroud)
新的强类型模型绑定有点困难.
<asp:TextBox
ID="DateFieldTextBox"
runat="server"
Text='<%# BindItem.DateField %>'/>
Run Code Online (Sandbox Code Playgroud)
将工作,但产生完整的日期/时间字符串而不仅仅是日期.
<asp:TextBox
ID="DateFieldTextBox"
runat="server"
Text='<%# BindItem.DateField.ToShortDateString() %>'/>
Run Code Online (Sandbox Code Playgroud)
..这应该工作,但它产生编译时错误"BindItem的无效代码语法".Item.DateField.ToShortDateString()有效,但不会在回发上绑定.
现在我们已经恢复了原来的语法,但我们希望得到现代编译时检查,但仍然可以很好地格式化日期.之前有人遇到过这个吗?
要在网格视图中显示数据,您可以执行 Item.DateField.ToShortString() ,它将工作,因为它是一种数据绑定方式。也就是说,您正在显示记录中已有的内容。BindItem.DateField.ToDateString() 会将对象从 DateTime 转换为字符串,这将导致错误,正如您已经看到的那样。您可以在编辑字段或接受新条目时继续在表单视图中使用 Bind(表达式,格式)。
| 归档时间: |
|
| 查看次数: |
3662 次 |
| 最近记录: |