0

Asp.net MVC アプリケーション (私の最初の MVC アプリ) を作成しています。ページのヘッダーとフッターをカスタマイズするには、データを _Layout ビューに渡す必要があります。どのユーザーがログインしているか、通知があるかどうかなどです。_Layout ページには常にこの情報が必要ですが、子ページには必要ありません。

このデータをビューに渡すにはどうすればよいですか? と があるのとLoggedInUser同じように、ビューがアクセスできるプロパティを作成できますか? ベースコントローラークラスによって設定される可能性があります。ModelViewBagLoggedInUser

または、これを実装するより良い方法はありますか?

4

2 に答える 2

1

認証を検出するには:

User.Identity.IsAuthenticated

次に、セクションASP.NET MVC 3: Layouts and Sections with Razor or/and @Html.RenderAction( Html.RenderAction および Html.Action )を使用できます。

于 2012-09-27T13:07:43.393 に答える
1

MembershipProvider および/または RoleProvider を使用している場合は、現在のユーザーの ID を取得するために webdeveloper が指摘したように実行できますUser.Identity.Name。その名前を表示する必要がある場合。

また、特定のモデルを使用するために your を入力することもできますが_layout、お勧めしません。詳細については、この質問回答を参照してください。

最後に、コントローラに ViewBag プロパティを設定して、必要なユーザー情報を取得できます。

_layoutこれを実現するために部分ビューを実行し、リクエストごとに ViewBag を入力してデータを入力することを避けることができることを指摘したいと思います。

于 2012-09-27T14:31:02.257 に答える