3


0

Site.MasterページMVCで何かを継承できますか?

MVC環境に慣れようとしています。 デフォルトのマスターページにサイドメニューを追加したいと思います。 ただし、データを取得するには継承を追加する必要があります。 それを行うことができますか、または 'Inherits = "System.Web.Mvc.ViewMasterPage"'を保持する必要がありますか?

<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>






            My MVC Application



            <% Html.RenderPartial("LogOnUserControl"); %>





                <%= Html.ActionLink("Home", "Index", "Home")%>
                <%= Html.ActionLink("Summary", "Summary", "Home")%>










                <% Html.RenderPartial("SideMenu", new ViewPage().Model); %>

2 Answer


2


継承する必要はありません。インポートディレクティブを使用するだけでよいと思います

といった

<%@ Import Namespace="DataLibrary" %>

また、私はラインを考える

<% Html.RenderPartial("SideMenu",
                      new ViewPage().Model); %>

あるべき

<% Html.RenderPartial("SideMenu", new MenuOptions()); %>

親切、

Dan


0


メインコントローラーからすべてのコントローラーを継承できます。

次に、MainControllerで、マスターページに必要なすべてのデータ(すべてのグローバルなもの)を設定できます。

Public MustInherit Class ApplicationController
    Inherits System.Web.Mvc.Controller

    Sub New()
        ViewData("SideMenu") = getSideMenu()
    End Sub

End Class

後で、マスターページで

<% Html.RenderPartial("SideMenu", ViewData("SideMenu")); %>

他の方法もあります(これは私がやった方法です)。MVC2.0には、パーシャルでコントローラーを参照する新しいオプションがあります。