2

我有一个正在构建的 ASP.NET MVC 应用程序,并且正在使用母版页。在这个母版页上,我想通过为“Tabs”、“Header”和“Footer”创建一个单独的文件来进一步分解。

我应该创建什么样的视图来封装这些东西以帮助从母版页中消除混乱?另外,如何在主视图的正确位置引用它们,以便正确渲染它们?

有几种不同类型的选项可用于为 MVC 创建视图/内容视图/用户控件等,我需要知道哪个选项适合此任务以及如何使用它。

4

2 回答 2

3

如果您使用的是 WebForms 视图,那么您有 3 个选项:

部分视图/用户控制

使用 Html.RenderPartial(我认为这是目前在 ASP.NET MVC 1.0 中创建选项卡的最佳方法)。您的标记将如下所示:

<% Html.RenderPartial(ViewData["TabName"], ViewData["TabData"]); %>

嵌套母版页

  • Site.master 和 ContentPlaceHolders 用于内容、页眉、侧边栏、页脚......
  • Tabs.master 和 ContentPlaceHolder for Tabs 中的<asp:Content ContentPlaceHolderID="Content" >
  • 很多 Tab1.aspx ... TabN.aspx 用于选项卡。

HtmlHelper 扩展

您可以使用(我认为创建选项卡的错误方式)是这样的:

<% if(ViewData["TabName"] = "Tab1") { %>
    <%= Html.Tab1() %>
<% } else if(ViewData["TabName"] = "Tab2") { %>
    <%= Html.Tab2() %>
<% } else ...
... 
...
...
于 2009-06-12T20:32:52.847 回答
0

您是否已经考虑过用户控件/部分视图?

编辑:如果它只是 html,您可以编写 html 文件并使用辅助方法进行渲染。

于 2009-06-12T19:39:09.260 回答