ASP.NET:绑定时的语言特定格式

时间:2015-01-09 11:37:57

标签: asp.net

我有一个绑定到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"/>

1 个答案:

答案 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"/>