我有一个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