我有一个ListView,其中有一个字段,其中有一些日期来自数据库。现在,当我点击“编辑”按钮时,在下一个“编辑页面”中,我想在特定日期字段中显示确切日期。
请参阅以下屏幕截图:
主要观点:
点击后:
我编写了以下代码来绑定日期:
<asp:TextBox runat="server" Text='<%#Bind("FirstVisitDate", "{0:MM/dd/yyyy}") %>' ID="FirstVisitDate" CssClass="form-control" TextMode="date" />
但这不起作用。
答案 0 :(得分:1)
使用这个而不是你的:
<asp:TextBox runat="server"
Text='<%# String.Format("{0:MM/dd/yyyy}", Eval("FirstVisitDate")) %>'
ID="FirstVisitDate" CssClass="form-control" TextMode="date" />
如果您仍然收到错误,可以将其转换为DateTime,看看它是否有效:
Text='<%# String.Format("{0:MM/dd/yyyy}", Convert.ToDateTime(Eval("FirstVisitDate")) %>'
我们也没有TextMode =&#34; date&#34; ??删除那个。
您也可以尝试这种方式,这在性能方面优于Eval:
Text='<%# String.Format("{0:MM/dd/yyyy}", ((System.Data.DataRowView)Container.DataItem)["FirstVisitDate"] %>'
如果你想显示日期的格式,你应该使用占位符,如下所示: 你也可以使用type作为下面的日期:
<asp:TextBox runat="server" placeholder="mm/dd/yyyy" type="date" ... />
答案 1 :(得分:1)
使用TextMode =“date”时,您应始终使用格式yyyy-MM-dd(W3C standard)
<asp:TextBox Text='<%# Bind("data", "{0:yyyy-MM-dd}")%>' runat="server" ID="dataTextBox" TextMode="Date" CssClass="form-control"/>