1

具体的には、一連のビュー (およびいくつかのアクション) で使用される電話番号があり、それが変更された場合に備えて、それをどこかに集中させたいと考えています。web.config で十分ですか? これに適した場所はありますか?理想的には、値が変更された場合に再コンパイルする必要はありません。ありがとう!

更新: これまでのところ、部分ビューが一番気に入っています。主な理由は、再コンパイルがなく、viewmodel に追加されていないことです。私が検討したもう 1 つのオプションは、global.asax の Application_Start とアプリケーション ディクショナリの使用です (ただし、このディクショナリの使用は mvc では嫌われているように思えます)。注意すべきことの 1 つは、一部のアクションでもこの番号を使用する必要があることです。これ以上の考え/意見はありますか?

4

4 に答える 4

3

Web.config ファイルにアクセスするビューが必要ですか。

これがビューの多くの場所に現れ、静的セット変数を必要とするものである場合は、部分ビューを作成して数値を表示し、部分ビューを複数回呼び出します。

利点は、再利用可能な領域に保持しているため、一度変更するとどこでも変更され、また、ビューが必要な場所で呼び出しを行うことで懸念の分離違反が発生しないことです。アクセスできません。パーシャルを更新しても、再コンパイルは必要ありません。

/Shared/_PhoneNumberPartial.cshtml

<span>555-1234</span>

ビューで使用

<div>Phone Number<br/>
 @Html.Partial("_PhoneNumberPartial")
</div>
于 2014-01-30T19:03:33.470 に答える
3

この場合、具体的には、クラス ファイルに保存します。しかし、最適なソリューションは、プロジェクト、その後の規模などによって異なります。

于 2014-01-30T18:59:42.847 に答える
1

電話番号のようなものについては、ある種のデータ ストレージに入れます。完全なデータベースが必要ない場合は、ファイル ベースのストレージや、できれば AppData フォルダーにある単純な *.json または *.xml ファイルのような単純なものを検討してください。ただし、これを行う場合は、ViewModel を介してビューに渡し、コントローラーまたは他のメソッドにデータ ストレージからの実際の読み取りを行わせる必要があります。ビューはこれらに直接アクセスしないでください。

構成設定には web.config が最適です。結局のところ、構成ファイルです。コンテンツを配置するのに最適な場所ではありません。あなたの電話番号はコンテンツであり、私にとってコンテンツは動的で構造化された場所にある必要があります.

于 2014-01-30T19:04:26.603 に答える
1

以下のように、電話番号をappSetting key/valueWeb 構成に追加できます。

<appSettings>
     <add key="PhoneNum" value="1234567890"/>
 </appSettings>

その後、あなたはそれを使用することができます

using System.Configuration;
string Phone = ConfigurationManager.AppSettings["PhoneNum"].ToString();
于 2014-01-30T19:02:02.250 に答える