2011-01-07 13 views
2

ASP.NET WebFormsでは、マスターページのCodeBehindを使用してナビゲーションをバインドするためのデータを取得できます。_Layout.cshtmlでデータバインドを行うには

どのように私はASP.NET MVC 3で同じことを達成できますか?

メインナビゲーションは_Layout.cshtmlにあるのが理想ですが、このファイルには独自のモデルはありません。私はMVCはデータバインディングの概念を持っていません実現しながら、すなわちそれが唯一の基底クラスと_Layout.cshtml@modelディレクティブを想定した(コントローラのアクションから供給されたモデルを使用しています。

編集
、私はにここでそれを含めることができます私が探している機能について説明を助ける。

+1

+1ですが、View(..)を返すときにオーバーフロー例外が発生しました。したがって、私はPartialView(..)にchnagedして動作します。 – Ryba

答えて

10

どのように私はASP.NET MVC 3で同じことを達成することができますか?

をデータバインディングの概念はMVC patteのために一般的ではありませんrn。ナビゲーションを実装するにはHtml.Action and Html.RenderActionを使用します。

例:

public class NavigationController : Controller 
{ 
    public ActionResult Index() 
    { 
     NavigationViewModel model = ... 
     return View(model); 
    } 
} 

、次いでレイアウト内側:

@Html.Action("Index", "Navigation") 

index.cshtmlナビゲーションを実装する部分であってもよいです。

+0

パーフェクト!ありがとう –

関連する問題