Quote Originally Posted by geoffrey.mcgill View Post
The Date parsing issue has been fixed and committed to SVN.

Setting a neutral culture ("fr") in the UICulture property of the @Page directive is not supported. You must set to a specific Culture. This is a limitation of ASP.NET.
Yes, the Date parsing works correctly now, and I originally mis-understood the other statement regarding neutral cultures. ASP.NEt actually allows and supports specifying a neutral culture for the @Page directive, and it loads the correct resources.
The problems arises when formatting things (like Dates etc), where .Net raises an exception if culture is neutral, because specific cultures based on the neutral culture can have different format strings (consider dates in en-US and en-UK).

Quote Originally Posted by geoffrey.mcgill View Post
You can use a neutral culture in the .Locale property of the <ext:ResourceManager>. This enables a work-around for the UICulture limitation noted above.

Example

<ext:ResourceManager runat="server" Locale="fr" />
This still does not work, using the latest 3671 revision from SVN. Get the following exception:

NotSupportedException: Culture 'en' is a neutral culture. It cannot be used in formatting and parsing and therefore cannot be set as the thread's current culture.]
   System.Globalization.CultureInfo.CheckNeutral(CultureInfo culture) +7480274
   System.Globalization.CultureInfo.get_DateTimeFormat() +28
   Ext.Net.Utilities.DateTimeUtils.ConvertNetToPHP(String format, CultureInfo culture) +351
   Ext.Net.Utilities.DateTimeUtils.ConvertNetToPHP(String format) +54
   Ext.Net.NetToPHPDateFormatStringJsonConverter.WriteJson(JsonWriter writer, Object value, JsonSerializer serializer) +174
   Ext.Net.ClientConfig.ToExtConfig(Object obj, ConfigOption configOption) +4554
   Ext.Net.ClientConfig.Process(Object obj) +832

[Exception: Error during ClientConfig initialization. FormatProxy - Culture 'en' is a neutral culture. It cannot be used in formatting and parsing and therefore cannot be set as the thread's current culture.]
   Ext.Net.ClientConfig.Process(Object obj) +1060
   Ext.Net.ClientConfig.Serialize(Object obj, Boolean ignoreCustomSerialization) +1044
   Ext.Net.ClientConfig.Serialize(Object obj) +45
   Ext.Net.XControl.get_InitialConfig() +117
   Ext.Net.XControl.OnClientInit(Boolean reinit) +874
   Ext.Net.Observable.OnClientInit(Boolean reinit) +50
   Ext.Net.XControl.SetResources() +253
   Ext.Net.XControl.PreRenderAction() +98
   Ext.Net.Observable.PreRenderAction() +300
   Ext.Net.XControl.Render(HtmlTextWriter writer) +224
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +27
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +99
   System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
   System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) +134
   System.Web.UI.Control.RenderChildren(HtmlTextWriter writer) +19
   System.Web.UI.WebControls.WebControl.RenderContents(HtmlTextWriter writer) +10
   System.Web.UI.WebControls.WebControl.Render(HtmlTextWriter writer) +32
   Ext.Net.XControl.HtmlRender(HtmlTextWriter writer) +232
   Ext.Net.XControl.Render(HtmlTextWriter writer) +412
   System.Web.UI.Control.RenderControlInternal(HtmlTextWriter wri
Quote Originally Posted by geoffrey.mcgill View Post
It's a limitation when formatting and parsing DateTime objects and using the CurrentUICulture. Probably doesn't matter if set in @Page directive or code-behind.
Yes, it does not matter if its @Page directive or code-behind. I misunderstood as explained above. I thought you were talking in general terms, while I now believe you were talking in spciific context of parsing date/times.

Quote Originally Posted by geoffrey.mcgill View Post
ok, I've committed (#3467) fix/work-around for the UICulture limitation when setting a neutral culture.

The following is possible.

Example

<%@ Page Language="C#" UICulture="fr" %>

<%@ Register assembly="Ext.Net" namespace="Ext.Net" tagprefix="ext" %>
 
<script runat="server">
	protected void Button1_Click (object sender, DirectEventArgs e)
	{
		X.Msg.Notify("Selected date", this.DateField1.SelectedDate.ToLongDateString()).Show();
	}
</script>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Ext.NET Example</title>
</head>
<body>
    <form runat="server">
        <ext:ResourceManager runat="server" />           
         
        <ext:DateField ID="DateField1" runat="server" />
         
        <ext:Button runat="server" Text="Submit" OnDirectClick="Button1_Click" />
    </form>
</body>
</html>
As noted above, I still get an exception.

However, I am not pursuing this further, because I have updated our code to NOT use neutral cultures, but use a specific culture if browser returns a neutral culture.