0

私は3列のグリッドビューを持っていますが、データベースには元のテーブルの日付フィールドが日付形式として保存されておらず(テーブルはオラクルにあります)、文字列形式で保存されているので、このようなaspのデータソースがあります

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConflictDetection="CompareAllValues"
        ConnectionString="<%$ ConnectionStrings:OracleXexdb %>" 
        ProviderName="<%$ ConnectionStrings:OracleXexdb.ProviderName %>"

        SelectCommand="select to_date(date, 'mm/dd/yyyy') as date, user, description from mytable where user is not null"
         filterexpression = "user LIKE '%{0}%'"
         >

    </asp:SqlDataSource>

SelectCommandでわかるように、日付フィールドをdd / mm / yyyyの形式に変換します(データベースでは、日付の形式はmm / dd / yyyyです)。asp.net開発サーバーでWebページを実行すると、すべてが正常です。つまり、日付フィールドがdd / mm / yyyyの形式で表示されますが、Webページをサーバーに配置するとmm / dd/yyyyの形式で表示されます。

何か私にできることはありますか?前もって感謝します

4

1 に答える 1

3

アプリケーションをデプロイする際の違いの最も可能性の高い理由は、取得されるカルチャが異なることです。

カルチャをWeb.configファイルsystem.webグローバリゼーション構成または現在のスレッドで必要なカルチャに明示的に設定すると、問題が解決するはずです。

例:以下のコメントの例を参照してください

日付形式は、Formatメソッドを使用してDatePickerで明示的に指定することもできます。

于 2012-10-15T14:47:12.497 に答える