WEB开发网
开发学院WEB开发ASP.NET ASP.NET MVC3: Razor 中的布局 阅读

ASP.NET MVC3: Razor 中的布局

 2010-12-02 07:05:41 来源:WEB开发网   
核心提示:在上面的代码中,我们通过设置 Layout属性来设置 Index.cshtml 使用的布局,ASP.NET MVC3: Razor 中的布局(2),这样可以工作,但是,你还可以在控制器和 Action 的过滤器中设置布局,完成之后的例子完成之后的页面如下:控制器的内容: Index.cshtml 视图的内容SiteL

在上面的代码中,我们通过设置 Layout 属性来设置 Index.cshtml  使用的布局,这样可以工作,但是,每一个页面都将需要重复这些代码。好消息是 Razor 允许我们不在视图中显式设置 Layout,通过为所有的视图定义一个统一的逻辑来完成这个任务。

可以删除设置 Layout 的代码。

在项目的 Views 文件夹下增加一个名为 _ViewStart.cshtml 的文件。

 _ViewStart 用来定义公共的视图代码,例如,为所有的视图定义同样的布局。

这些代码将在每一个视图之前执行。所以,你就不再需要为每一个视图设置布局了。

注意:由于可以在 ViewStart  中写程序,所以,你可以不是简单的设置布局属性。例如,根据用户设备的不同,采用不同的布局模板,这样,视图的灵活性变得大大增强了。

你还可以在控制器和 Action 的过滤器中设置布局。

完成之后的例子

完成之后的页面如下:

控制器的内容:

 Index.cshtml  视图的内容

SiteLayout.cshtml 布局的内容

_ViewStart.cshtml 的内容如下:

生成的 HTML 如下:

高级问题:

可以在布局中嵌套布局吗?

在布局中存在多个不连续的区域,这两个问题的答案都是可以。

上一页  1 2 

Tags:ASP NET MVC

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接