2017-03-27 11 views
1

私はmvcのnoobです。これについて50個の質問と記事を読んだり読んだりしていますが、どうすればよいか分かりません。aspコアアプリケーションの動的ナビゲーションバー

VS2017のMVC Coreテンプレートアプリを使用しました。これにはnavbarが含まれています。私は、ログイン、クッキー、いくつかのアクションとコントローラを追加し、それは正常に動作しています。さて、私は、ナビバーにログインボタンの代わりにユーザーアイコンを表示する方法を固執しています。 私はユーザーIDを使ってクッキーを読んでいると思います。もし存在すればユーザーのアイコンを表示し、そうでなければログインボタン(サードパーティのシングルサインオンプロセス)を表示します。

しかし、navbarは_layoutにあり、そこにデータを渡す方法はわかりません。だから私はいくつかの場所で私は基本的なビューを継承する必要があります、私は部分的なビューを作成する必要がありますいくつかの他の場所で読む。私は迷子になってしまった。だから、

、今私は、これは_layoutからコピーしたナビゲーションバーをcontins私のレイアウトページに、この

@Html.Partial("~/Views/Shared/Layout.cshtml"); 

を追加しました。 このビューに必要なデータをリンクするにはどうすればよいですか? 私は剃刀@ViewBag.FirstMenuItemか他のビューのようなものを使用したいと思います。

これは正しいアプローチですか?私はこれが今までで最も一般的なことだと思いますが、古いMVCのバージョンと、正確にどこに配置する必要があるかわからないコードの部分については混乱します。

答えて

1

答えは:新しく古いパーシャルビューに似ているViewComponentを使用します。

関連する問題