すべてのページでメンバー (「ユーザー」) に関するさまざまな詳細を表示できるようにしたいと考えています。つまり、ログインの詳細を表示するパーシャルです。
たとえば、stackoverflow はすべてのページに自分のユーザー名、評判、バッジを表示します。
ViewModel に固執したいので、ViewModel にデータを入力してすべてのページに渡すのが賢明なようです。ViewModel にはメンバー オブジェクト (およびおそらく他のデータ) が含まれます。
これを行う 1 つの方法は、抽象的な「ベース」ViewModel クラスを作成し、通常使用する他のすべての ViewModel をそれから継承させることです。作成するすべての ViewModel はベースから継承する必要があるため、これは少し面倒に思えます。迷惑?
別の方法は、を使用することHttpContext.User.Identity
です。
もう 1 つの方法は、カスタム WebViewPage を作成することです。
しかし、これらの 2 つの可能性については、「あまり MVC らしくない」ため、推奨されないと通知されました。つまり、MVC で行う自然な方法に準拠していません。
どうすればこの問題を解決できますか? ViewModels は進むべき道ですか?
C# または VB.NET を使用できます。