2015-01-09 52 views
0

當語言特定的格式我有一個綁定到一個日期時間屬性的日期文本框:ASP.NET:結合

<asp:TemplateField HeaderText="Date1"> 
    <ItemTemplate> 
    <asp:TextBox ID="Date1TextBox" Text='<%# Bind("Date1", "{0: yyyy-MM-dd}")%>' runat="server"/> 
    </ItemTemplate> 
</asp:TemplateField> 

是什麼力量讓格式的動態最簡單的方法,這意味着我希望能夠指定我想使用的格式取決於當前的ui文化/語言。是否有可能在標記中做到這一點(如果可能,我想避免在代碼中這樣做)?

我嘗試以下,但綁定似乎並不支持方法來獲取格式字符串:

<asp:TextBox ID="Date1TextBox" Text='<%# Bind("Date1", GetCurrentFormat())%>' runat="server"/> 

回答

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"/> 
+0

我需要雙向綁定Eval是單向的。你還有硬編碼的格式? – user764754

+0

@ user764754檢查更新 –

+0

我認爲myDate必須是類型對象。此外,我仍然失去客戶端到服務器綁定(Date1不會自動更新)。 – user764754