我有一个绑定到DateTime属性的日期TextBox:
<asp:TemplateField HeaderText="Date1">
<ItemTemplate>
<asp:TextBox ID="Date1TextBox" Text='<%# Bind("Date1", "{0: yyyy-MM-dd}")%>' runat="server"/>
</ItemTemplate>
</asp:TemplateField>
使格式动态化的最简单方法是什么,这意味着我希望能够根据当前的ui文化/语言指定我想要使用的格式。是否可以在标记中执行此操作(如果可能,我希望避免在代码中执行此操作)?
我尝试了以下但Bind似乎不支持获取格式字符串的方法:
<asp:TextBox ID="Date1TextBox" Text='<%# Bind("Date1", GetCurrentFormat())%>' runat="server"/>
答案 0 :(得分:0)
试试这个:
<asp:TextBox ID="Date1TextBox" Text='<%# Eval("Date1","{0:yyyy-MM-dd}") %>'
runat="server"/>
修改强>
protected string GetCurrentFormat(string myDate)
{
//Retrive Current Format from DB
string MyFormat="yyyy-MM-dd";
return Convert.ToDateTime(myDate).ToString(MyFormat);
}
<asp:TextBox ID="Date1TextBox"
Text='<%# GetCurrentFormat(Convert.ToString(Eval("Date1"))) %>'
runat="server"/>