用于读取和渲染主布局的Razor扩展方法

时间:2011-11-18 14:27:26

标签: asp.net-mvc-3 c#-4.0 razor

我们的团队需要为所有Web应用程序提供标准的通用外观(CLF)。它们的基线都是相同的,某些项目如css引用可以进行自定义。

我们希望找到一种方法来创建一个完整的布局文件或可以由所有人共享的局部文件。

我阅读了很多帖子,视图上的布局变量无法读取绝对路径。

我们可以使用剃刀方法来读取XML并渲染到我们的布局,就像renderbody()一样吗?

编辑: 我们希望在一个项目中有像css,标准布局等项目。然后,这可能成为开发团队的可分发包。

我们正在寻找的最终输出示例:

_base.cshtml示例。

@model CLFModel
@CLF.Header(...)

@CLF.LeftMenu(...)

@CLF.OptionalRightMenu(...)

@CLF.Body(...)

@CFL.Footer(...)

CLF.Header将包含类似下面的内容,并且可以从文件或预编译的引用中呈现。

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="@Model.dcLanguage" lang="@Model.dcLanguage">
<head>
    <meta charset="utf-8" />
     <title>@Model.PageTitle</title>
     meta tags.....
     CSS required links ....
     CSS section for custom link references ...
     script tags(required)
     optional section for script tags
</head>

1 个答案:

答案 0 :(得分:1)

您可以根据需要创建任意数量的部分视图,只需将它们包含在使用@Html.Partial("YourPartialView")渲染的视图中即可。您可以创建_MasteLayout,其中包含各种部分视图和@RenderBody,以保持一致的感觉