1

保存したタイトルをデータベースから取得しようとしています。ビューを使用せずに毎回ロードしたい。そのため、レイアウトから呼び出すときに変数をプルする必要があります。これどうやってするの?

レイアウト例:

@ViewBag.ShowTitle   

これは、レイアウトをレンダリングするすべてのページに表示されます。コントローラーなしでデータベースから画面にフィールドを呼び出す方法がわかりません。

4

2 に答える 2

1

PartialViewページでaを呼び出すだけ_Layout.cshtmlです。

@Html.Partial("_Title")

Controllerただし、データベースと対話し、Title値をに割り当てるには、が必要ですViewBag

PartialView

<div>
    <h2>
        @ViewBag.ShowTitle
    </h2>
</div>

次のリンクで説明されているように、内部でViewModel、、Controllerおよび呼び出しを定義することもできます。@Html.Action_Layout.cshtml

ASP.NET MVC3_Layout.cshtmlコントローラー

于 2012-10-24T15:46:51.943 に答える
1

データベースが直接Webアクセス(Raven DB http://ravendb.net/docs/http-apiなど)をサポートしている場合にのみ、コントローラーの使用を回避できます。

ただし、セッションでトリックを使用することもできます。たとえば、タイトルを読み取ってglobal.asaxのSessionに保存し、ページのセッション変数を使用できますが、そのようなコードを作成するのは非常に悪いことです。

于 2012-10-24T15:54:50.150 に答える