2

私はここで奇妙な問題を抱えています.ASP.NETバージョン、IIS、または私が何か愚かなことをしているのかどうかはわかりません(経験から、おそらく項目3.)

私は w2k3 で正常に動作する 2 つの Web サイトを持っています。1 つは ASP.NET 1.1 で、もう 1 つは 2.0 で、Web ページに通貨が正しく表示されています。

これらを w2k8 ボックスと IIS 7 に移行してから、1.1 サイトで、ユーザーが参照する現地通貨ではなく $ が表示されるという奇妙な問題が発生しました。しかし、2.0 サイトは正常に動作します。

どちらも IIS が同じグローバリゼーションに設定されています。(カルチャなし、クライアントは false、UI カルチャは英語 (en))。

両方のサイトは同じサーバーでホストされています。私が見ることができる唯一の違いは次のとおりです。1 は using<Databinder.Eval(... Price, "{0:c}")>をバインドし、もう 1 つは using を使用するプロパティにバインドします。String.Format("{0:c}");

コードが変更されていないので、IISの問題だと思います。しかし、IIS で両方のサイトのグローバリゼーション設定が同じであるため、そうであるとは思えません。

それで、誰かが何が起こっているのか、それを解決する方法を知っていますか?

4

3 に答える 3

0

AFAIKは、少なくともString.Format("{0:c}")、おそらく<Databinder.Eval(... Price, "{0:c}")>同様に、プロパティSystem.Threading.Thread.CurrentCultureの値が何であれ使用します。

ページに設定するかどうかは関係ありませんが、とにかく値が割り当てられます。そして、これらの設定はサーバー設定からのものであると考えるのはかなり合理的です。サーバー設定は、あなたの説明からはen-USのようです。したがって、通貨記号としての$ ...以前に機能していた理由を自問するかもしれません...
まあ、すべての構成ファイルをコピーしたことを確認しますか?
もう1つの手がかりは、新しいボックスで実際のバージョンではなく、.Net1.1のバージョンをエミュレートしたことです。100%互換性がない可能性があります...

于 2012-10-31T18:29:49.600 に答える
0

新しいサーバーのコントロール パネルから地域と言語のオプションを確認し、古いボックスの同様の設定と一致していることを確認します。

于 2012-10-30T21:29:14.130 に答える