部分视图和布局有什么区别?

时间:2014-07-14 06:44:21

标签: c# asp.net-mvc razor

我在项目中使用了部分视图和布局概念我无法区分。但我感觉到的是做同样的工作。任何人都能说出关于部分视图和布局的简要概念以及与示例的区别吗?

4 个答案:

答案 0 :(得分:37)

除了Josh的回答,我的aweeeesomeee绘画技巧想给你画一张应该解释所有内容的图片。

Diagram displaying Layout, View and Partial View

承认它......你敬畏......

你看到页眉和页脚......你甚至可以在那里看到部分视图。


EDIT ...


布局

为了给出一个使用每个组件的原因(布局/视图/局部视图)的不同示例,假设您拥有一个总共有100页的网站,并且假设您要更新网站的设计,你打算怎么做?

单独更新每个页面会让我感到疯狂,因为您不断为每个页面复制代码,只是为了更新您的设计。

这是布局视图帮助您解决的问题,您可以使用布局视图为所有页面创建模板。


查看

使用我们现有的100页网站场景,每个页面都会有独特的内容,View允许我们使用Layout中的模板显示此内容。


部分视图

现在假设我们允许访问者对我们的网页发表评论,每条评论必须看起来一致,并且与我们网站上的所有其他评论的行为完全相同...为此,您将使用{{1这将作为您在网站上收到的评论的模板。

这样做的好处是您无需在任何地方重复代码,只需创建一个Partial View来呈现任何评论。

Diagram displaying Layout, View and Partial View

答案 1 :(得分:3)

布局可让您在整个网站上生成一致的外观。把它们想象成ASP.net的主页。

  

什么是布局?

     

您通常希望在所有内容中保持一致的外观   您的网站/应用程序中的页面。 ASP.NET 2.0介绍   “母版页”的概念,有助于在使用.aspx时启用此功能   基于页面或模板。 Razor也支持这个概念   称为“布局”的功能 - 允许您定义公共站点   模板,然后继承其所有的外观和感觉   您网站上的观看次数/网页。 - http://weblogs.asp.net/scottgu/asp-net-mvc-3-layouts

部分视图允许您构建视图并在父视图中呈现它。例如,假设有一个允许您评论文章的网站。显示并允许用户添加注释的部分是一段可重用的代码,插入到您希望功能存在的所有页面中。这一点很重要的是,您可以修改该单个部分视图文件,以更新呈现该部分视图的每个视图,而不是追踪每个单独实现该代码的页面。

这是一个Youtube Vid,帮助我更好地理解部分视图。 https://www.youtube.com/watch?v=SABg7RyjX-4

编辑:此外,创建链接视频的人有一个完整的播放列表库,可以帮助新的MVC编码器。他通过很好的例子介绍了大量的MVC功能。 https://www.youtube.com/user/kudvenkat

答案 2 :(得分:2)

非技术性说明:

布局是房子的基础,View是房子里的单个房间,PartialViews是那个房间的窗户或墙上有电的插座。

答案 3 :(得分:1)

简化说明这是我的回答:

1)

  

布局是我们 在单个页面中包含一次 的内容   我们可以对任意数量的页面使用相同的布局。

2)

  

部分视图是我们可以 包含相同内容的东西   单页中的任意次数 (需要的地方)并且可以   可用于任意数量的页面。