我正在使用MVC 3创建一个原型项目,我遇到了一个我似乎无法找到答案的情况,似乎我可能会以错误的方式处理这个问题。
快速浏览我的项目;它基于您使用Visual Studio获得的MVC模板,并使用提供的_Layout视图上的链接(选项卡)来访问我的其他视图。其中一个链接打开第二个局部视图,该视图再次包含更多视图的链接(管理员特定,因此分割)。我遇到的问题是,我似乎无法在第二个部分视图中显示@RenderBody的视图,我知道这是因为在完整的HTML文件中不能有多个@RenderBody,这很有道理。
所以我的问题是,如何以这种方式显示视图?另外,可能更重要的是,这是实现这个我想要的“子菜单”系统的正确方法,还是有更好的方法来实现这一点?
这里是视图的相关部分,首先是'main'_Layout文件:
Test App
@if (User.Identity.IsAuthenticated)
{
@Html.ActionLink("Contracts", "List", "Contract", new { user=User.Identity.Name, page=1 }, null)}
@if (User.IsInRole("Administrator"))
{
@Html.ActionLink("Administration", "Administration", "Home")}
@RenderBody()
点击
@Html.ActionLink("Administration", "Administration", "Home")链接时,主控制器返回如下所示的第二个局部视图:Administration
Test
@RenderBody()
当我尝试运行代码时,由于第二个@RenderBody而失败,这是可以理解的。
如果您需要更多信息,请告诉我。
非常感谢。