1

こんにちは...私はWebを開発しています..展開まですべて正常に動作しています...私の質問は-なぜこのエラーが表示されるのですか? Visual Studio Server で Web を実行すると問題なく動作するのですが、IIS サーバーで展開して実行すると、突然このエラーが表示されます。ここで本当に助けが必要..

string tarikh = Convert.ToDateTime(txtTarikh.Text).ToString("yyyy-MM-dd");

行はエラーの原因です..事前に感謝します

4

6 に答える 6

6

この問題については、IIS に移動する必要があります

IIS に移動 -> 構成済みの Web サイトを選択 -> .NET グローバリゼーションをクリック

.NET グローバリゼーションから、CultureUI-Culture英語 (米国) (en – US)として選択します。

Windows コマンド プロンプトから iisreset としてコマンドを実行し、IIS を再起動します。

アプリケーションが同じ問題を引き起こしているかどうかを確認します

于 2014-11-16T10:29:27.727 に答える
2

サーバー側の既定のカルチャは、開発で使用しているものとは異なる可能性があります。

とにかく、日付がどのような形式になることを期待していますか? を使用するDateTime.TryParseExact、少なくともDateTime.TryParse適切な を指定して使用する必要がありますCultureInfo。(たとえば、ユーザーの文化。)

同様に、適切なCultureInfoto ToString-possibleを指定することをお勧めしますCultureInfo.InvariantCulture

于 2012-04-22T18:46:26.250 に答える
2

開発マシンと Web サーバーで「地域設定」が異なります。

Convert.ToDateTime(string) を呼び出す代わりに、オーバーロードされたバージョンの Convert.ToDateTime(string, IFormatProvider) を使用して、日付の形式を指定することができます。

今日の日付を「2012-04-22」と考える人もいれば、「2012/4/22」と主張する人もいます。

編集:次のようなことをしてください:

var  ci = new CultureInfo("xx-XX");
var dateTime = Convert.ToDateTime(txtTarikh.Text, ci);

xx-XX は、使用するカルチャのコードです。ここで調べてください: http ://sharpertutorials.com/list-of-culture-codes/

于 2012-04-22T18:46:32.257 に答える
1

txtTarikh.Text から取得した日付は日付として解析されないためです。おそらくローカル マシンでは、地域設定がサーバーとは異なります。ログを追加して txtTarikh.Text を出力し、サーバーとローカル マシンで何が返されるかを確認します。

于 2012-04-22T18:46:06.437 に答える