4

静的な値を保存するのに最適な場所はどこですか。そして、どのようにアクセスしますか。

どのページからでも静的な値にアクセスできるようにしたい。ただし、それらを1か所で定義するだけで済みます。

たとえば、「email」と「phoneNumber」

Sessionとのようなものを試しPageData、ヘッダーで変数を定義しました(すべてのページで使用されます)が、これは機能しません。

パーシャルはページの後で初期化されるため、まったく機能しないか、初回ロード時に機能しません。

例:初回ロード:

ロードされたページ<-変数にアクセスしようとします。初期化されていません。

ヘッダー部分ロード<-変数が初期化されました。

結果。ページに変数が表示されません。

設定ファイルに保存することを検討しました。しかし、Webmatrix2からこれにアクセスする方法がわかりません。txt/iniファイルなどを作成することはできますが、ファイルを解析することは最善の方法ではありません。-それ以来、これを試しましたが、mvc3(config)のように有効ではないようです。また、リクエストごとにtxtファイルを読み取るのは実用的ではありません。

4

1 に答える 1

5

「静的」とは、アプリケーションの存続期間にわたって変更されない値を意味する場合、通常、ストレージにHelperPage.App プロパティを使用します。タイプに基づいているdynamicため、任意のプロパティを作成できます。

App.Email = "someone@somewhere.com"; 

または、より伝統的な名前/値のコレクション アプローチをAppStateで使用できます。

AppState["email"] = "someone@somewhere.com";

ただし、「静的」変数がユーザー固有の場合は、ユーザーにスコープが設定されているので、Session を使用する必要があります。または、それらを永続的に保存する場合は、データベースを使用します。

_PageStart.cshtml (作成が必要な場合があります) または global.asax ファイルの Session_Start イベントでセッション値を設定し、必要な部分/ビューでそれらにアクセスできます。

于 2012-09-07T20:19:06.390 に答える