如何生成一次内容并在ASP.NET MVC中的所有页面中重复使用它?

时间:2011-04-07 18:49:30

标签: asp.net-mvc

在我的ASP.NET MVC网站中,所有页面共享相同的内容(标题和顶部菜单)。

生成该内容的选项有哪些,只有一个地方可以在所有页面中重复使用。我还希望用户当前处理的链接得到适当处理(不显示为链接)。

4 个答案:

答案 0 :(得分:2)

在MVC3中,这通常在布局页面中完成:http://weblogs.asp.net/scottgu/archive/2010/10/22/asp-net-mvc-3-layouts.aspx

答案 1 :(得分:0)

您还可以使用ASP.NET母版页。 http://msdn.microsoft.com/en-us/library/wtxbf3hh.aspx 如果你在Visual Studio中启动一个新的ASP MVC项目,我相信它会在/ Views / Shared中为你提供一个主页

答案 2 :(得分:0)

在我的ASP.NET MVC 2应用程序中,我使用Rich建议的母版页。我只想补充一点,我使用的是我所有视图模型都继承的主模型,以返回母版页中所需的动态数据(即帮助您确定要突出显示的活动链接)。每次渲染一个视图时,我都会明确地传递一个视图模型,以便主模型中的值始终可用。

主模型从全局可用的东西(即我的自定义标识,http上下文属性等)中获取数据 - 因为我不想在每次渲染视图时手动初始化这些属性(这会使我失败瘦控制器的目标)。

答案 3 :(得分:0)

如果是动态数据;然后,您始终可以在母版页中使用RenderAction()。这是动态生成的数据吗?