谷歌搜索了一段时间后,我对如何在 asp mvc 3 中执行此操作有点困惑。
因此,任务是为多个控制器的视图提供一个通用布局(或母版?)页面。所有的视图本身都是强类型的......这个布局页面实际上可视化了一些强类型的对象。因此,我需要将此对象传递给布局页面,以将其传递给“Html.RenderPartial()”或直接在页面中呈现。
Passing Data to View Master Pages (C#)一文(尽管对于 mvc2 来说是旧的)给出了一个示例来提供一个基本的抽象控制器类,将模型传递给ViewData
. 这可能是治疗方法。
但...
在某些线程中,我发现了一种可以制作强类型母版页的方法:
<%@ Master ... Inherits="System.Web.Mvc.ViewMasterPage<MyWeb.Models.Client>" %>
那么,在 mvc3 中是否有相同的方法?或者将数据传递到布局页面的唯一方法是使用 ViewBag 或 ViewData?
阅读了在 asp.net-mvc 中将 ViewModel 数据绑定到母版页的最佳方法是什么,我考虑了 Darin 的回答,但仍然认为这堆视图将具有相同的布局,并且没有理由反对 DRY原则。
那么,如何将强类型对象传递给布局页面呢?还是我混淆了什么?