我有一個Webforms ASP.Net 4.5應用程序,它沒有在web.config或代碼中的其他地方指定文化或uiculture設置。我關心的日期格式適合來自不同國家的用戶,即文化背景和UICulture背景。Culture是否自動應用於ASP.Net Webforms? (而不是UICulture)
問題:Label控件,或者開發者需要明確地做到這一點:如果ASP.Net應用程序是從英國,德國和美國使用的用戶,然後將日期值自動在ASP中顯示的格式時格式化?
Label控件是使用ASP.Net Webforms的數據綁定語法的數據綁定,如下面的代碼片段所示。例如,如果訂單日期是美國用戶10/4/2014,那麼對於英國或德國的用戶,它應該顯示爲2014年4月10日。
的Html
<asp:Label id="lblOrderDate" runat="server" Text="<%# this.OrderDate %>"></asp:Label>
代碼隱藏
protected void Page_Load(object sender, EventArgs e)
{
string orderId = this.txtOrderId.Text;
Order order = DAL.GetOrder(orderId);
this.OrderDate = order.OrderDate;
this.Page.DataBind();
}
public DateTime OrderDate { get;set; }
更新1
我不知道我是否需要包括下面的代碼在頁面代碼隱藏爲了設置文化,或者它會自動完成由ASP.Net?我的猜測是,ASP.Net會自動執行此操作,但不確定。
protected override void InitializeCulture()
{
string language = "en-us";
//Detect User's Language.
if (Request.UserLanguages != null)
{
//Set the Language.
language = Request.UserLanguages[0];
}
//Set the Culture.
Thread.CurrentThread.CurrentCulture = new CultureInfo(language);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(language);
}
優秀的答案。謝謝。 – Sunil
我認爲,如果您可以包括訂單日期將自動格式化,如果您的方法得到遵守,這將是一件好事,因爲這是我的問題。 – Sunil
好的。我會加上謝謝你的建議。 – justcoding124