通过ViewData将数据传递到MVC2中的嵌套母版页

时间:2011-08-01 20:04:39

标签: asp.net-mvc-2

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

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

这是声明嵌套母版页的方式: <%@ Master Language =“C#”MasterPageFile =“〜/ Views / Shared / Site.Master”AutoEventWireup =“true”CodeBehind =“Curator.master.cs”Inherits =“Atlasweb.Views.Shared.Curator”%&gt ;

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

1 个答案:

答案 0 :(得分:2)

MSDN here概述了官方方式。

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

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

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