我有一個帶日曆擴展器的文本框。DateTime.Parse或Convert.ToDateTime不起作用
的格式應該是這樣的:
<add key="DateFormat" value="dd/MM/yyyy"/>
我已經在我的ASPX標記
<asp:TextBox ID="txt" runat="server"
meta:resourcekey="txt" MaxLength="150" HtmlEncode="False"></asp:TextBox>
<ajaxToolkit:CalendarExtender runat="server"
TargetControlID="txt"
PopupButtonID="Image1" Format="<%$Appsettings:DateFormat%>" />
下,當我嘗試使用它的屬性是這樣的:
datett= DateTime.Parse(txt.Text),
它說FormatException。
我調試過,也試過Convert.ToDatetime,引發同樣的異常。
我測試的文本是30/05/2015
其中,按我在我的web.config格式應該正常工作。
UPDATE1 我用下面的代碼根據用戶的選擇來改變我的網頁的語言和文化,也許這就是爲什麼它的失敗,
我看到很多的答案,第二個問題是,如何獲得當前的文化?
/// <summary>
/// Handles the AcquireRequestState event of the Application control.
/// </summary>
/// <param name="sender">The source of the event.</param>
/// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param>
protected void Application_AcquireRequestState(object sender, EventArgs e)
{
//Create culture info object
/*var ci = new CultureInfo(Session["Language"].ToString());
System.Threading.Thread.CurrentThread.CurrentUICulture = ci;
System.Threading.Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(ci.Name);*/
System.Web.UI.Page p = (System.Web.HttpContext.Current.Handler as System.Web.UI.Page);
if (p != null)
{
p.UICulture = p.Culture = new CultureInfo((string)Session["Language"]).Name;
}
}
請參閱更新1 –
@LuisEValencia:請參閱我的更新。 –