Asp.net mvc 2 通过ViewData将数据传递到MVC2中的嵌套母版页

Asp.net mvc 2 通过ViewData将数据传递到MVC2中的嵌套母版页,asp.net-mvc-2,Asp.net Mvc 2,我一直在试图找到一种将数据传递到嵌套母版页的方法。我使用嵌套母版页是因为它允许我在我的网站上有一个第二层导航,然后可以通过其他需要该第二层导航的视图进行扩展 由于某些原因,我无法访问ViewData[“字段”]。编译器抛出ViewData不在嵌套母版页上下文中的错误。我也不能使用子操作,它们也不存在于嵌套母版页的上下文中 以下是嵌套母版页的声明方式: 我已尝试将“Inherits”属性更改为System.Web.Mvc.ViewMasterPage,以查看它是否允许我访问ViewData或子操

我一直在试图找到一种将数据传递到嵌套母版页的方法。我使用嵌套母版页是因为它允许我在我的网站上有一个第二层导航,然后可以通过其他需要该第二层导航的视图进行扩展

由于某些原因,我无法访问ViewData[“字段”]。编译器抛出ViewData不在嵌套母版页上下文中的错误。我也不能使用子操作,它们也不存在于嵌套母版页的上下文中

以下是嵌套母版页的声明方式:


我已尝试将“Inherits”属性更改为System.Web.Mvc.ViewMasterPage,以查看它是否允许我访问ViewData或子操作,但没有成功

MSDN已概述了官方方式

下面是我如何处理我自己的错误,如果它也与你有关


这就是我想出来的:最初,当我添加一个新项目时,我选择了“嵌套母版页”。此构造可能比MVC2旧,因为MVC2允许我创建一个“母版页”,然后添加属性MasterPageFile,我可以将该属性指向[父]母版页以创建嵌套。似乎对我有用

<%@ Master Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewMasterPage" %>

这就是我的想法:当我添加一个新项目时,我选择了“嵌套母版页”。此构造可能比MVC2旧,因为MVC2允许我创建母版页,然后添加属性MasterPageFile,我可以指向[父]母版页以创建嵌套。似乎对我有用。