3

ValidFromフォーム値を格納する値を持つテキストボックスがあります:

31.01.2012

文化は次のように設定されます。

<globalization culture="en-GB" uiCulture="en-GB"/>

web.config で。

そして今、ObjectDataSource update メソッド:

    public static void UpdateLac(int id, DateTime ValidFrom)
    {
        /// ...
    }

文字列を解析できないという例外が発生するため、失敗します。ただし、形式dd.mm.yyyy ( 31.01.2012 ) の日付は有効な en-GB 形式であり、解析できます (私の知る限り)。次のコードでテストしました。

            DateTimeFormatInfo dtfi = CultureInfo.CreateSpecificCulture("en-GB").DateTimeFormat;
            var date = DateTime.Parse("31.01.2012", dtfi);
            Console.Write(date.ToLongDateString());

では、この例で ObjectDataSource の内部変換が文字列(31.01.2012) をDateTimeに変換できないのはなぜでしょうか?

4

1 に答える 1

0

カルチャ情報が OS (この場合は Windows) から直接読み込まれることがわかっている限り、指定された形式の地域設定を確認できます。これは私のPCからのスクリーンショットです:

http://imageshack.us/photo/my-images/96/engbg.png/

ご覧のとおり、短い日付の形式は dd/MM/aa であるため、サーバーの地域設定に問題があるか、入力が 31.01.2012 ではなく31/ 01 /12 である必要があります。

お役に立てれば。

于 2012-08-06T17:53:25.583 に答える