我有一個asp.net 4.0 FormView控件綁定到一個SqlDataSource,託管在IIS7,和我在顯示日期爲編輯這樣的:爲什麼我的ASP.Net日期格式更改不正確?
<input id="OrderDateTextBox" type="text" value='<%# Eval("OrderDate", "{0:d}") %>' />
這通常工作正常,但偶爾的日期格式顯示d/m/y而不是m/d/y。發生這種情況時,頁面刷新將顯示正確的日期格式。
到目前爲止,我已經嘗試設置默認文化在web.config中像這樣:
<globalization enableClientBasedCulture="false" culture="en-US" uiCulture="en-US" />
我也試着設置在初始化文化:
protected override void InitializeCulture()
{
UICulture = "en-US";
Culture = "en-US";
Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture("en-US");
Thread.CurrentThread.CurrentUICulture =
new CultureInfo("en-US");
base.InitializeCulture();
}
無論這些方法似乎有任何影響。但是,如果通過使用以下語法拉入數值,則日期格式始終是正確的:
<%# DateTime.Parse(Eval("OrderDate").ToString()).ToString("d", CultureInfo.CreateSpecificCulture("en-US")) %>
但是這不應該是必需的。謝謝你的幫助。
你確定這些是隨機的嗎?你見過的事件有什麼共同點? – Oded 2010-10-08 18:31:06
好吧,它似乎發生在閒置期之後,也許在會話過期後? – Sprockincat 2010-10-08 19:06:17