【问题标题】:Nested master pages using Razor syntax使用 Razor 语法的嵌套母版页
【发布时间】:2011-06-02 16:37:41
【问题描述】:

我正在尝试让嵌套母版页使用新的 razor 语法。任何帮助表示赞赏:

我得到的错误是

Execute() no suitable method found to override

进一步研究我有我的 _Site.cshtml,它是主母版页并继承了 ViewMasterPage。

我的嵌套母版页是_layout.cshtml,它使用_site作为布局,使用了一些helpers并继承自ViewMasterPage

我有一个 _ViewStart.cshtml,它指向我的布局文件。

最后我得到了继承自 ViewPage 的索引页

所以在每一页的顶部我都有:

网站:

@inherits System.Web.Mvc.ViewMasterPage

布局

@inherits System.Web.Mvc.ViewMasterPage<MyMasterViewModel>
@{ Layout ="~/Views/Shared/_Site.cshtml"; }

查看开始

@{ Layout ="~/Areas/AreaName/Views/Shared/_Layout.cshtml"; }

索引

@inherits System.Web.Mvc.ViewPage<MyHomeModel>

有什么想法吗???

干杯!

【问题讨论】:

    标签: asp.net-mvc-3 razor master-pages


    【解决方案1】:

    ViewMasterPage 用于 WebForms 视图。
    Razor 布局页面不继承特殊类;相反,它们继承了相同的 ViewPage 类。

    您应该在所有三个页面中使用@model 指令而不是@inherits

    【讨论】:

    • 只是为了澄清其他面临同样问题的人。删除站点母版页中的行,将 Layout 更改为 @model MyMasterViewModel 并将 Index 更改为 @model MyHomeModel。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 2010-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多