本节主要讲解了PartialView
Q70. 什么是ASP.NET MVC 中的 Partial View(分布视图)?
Ans. Partial view 类似于ASP.NET Web forms 中的user control(用户控件)用来进行代码重用。 Partial views 帮助我们减少重复代码。
因此 Partial views是可重用的,像Header和Footer视图那样。
我们可以使用它去显示博客评论,商品类别,社交按钮,动态时钟日历等等。
创建partial view 的最佳实践是在Shared文件夹创建并以 "_"为前缀命名,但这并不是强制的。视图以 "_" 为前命名则说明该view是一个可重用的。
Q71. 如何在controller中返回partial view ?
Ans.return PartialView(options);
其中 options可以是一个Model或View名称。
Q72. ASP.NET MVC有哪几种方式用来返回一个Partial View?
Ans. 主要有以下四种方式:
Html.RenderPartial
这种方式的结果会直接写入Http响应流,也就意味着它使用与当前页面/模板相同的TextWriter对象。
这个方法返回值类型为void。
可以直接使用不需要创建action。
当Partial view中要显示的数据已经在相应的View Model中时,使用RenderPartial 方法将非常好用。比如:在博客中要显示一篇文章的评论,就可以使用RenderPartial来显示评论,因为文章信息及评论一般文章的View Model中填充了。
@{Html.RenderPartial("_Comments");}这个方法比Partial方法快是因为它的结果直接写入响应流。
Html.RenderAction
T这种方式的结果会直接写入Http响应流,也就意味着它使用与当前页面/模板相同的TextWriter对象。
这种方式,我们需要创建一个对应的child action 去呈现对应的partial view。
当Partial view中要显示的数据与相应的View model相互独立时,使用这种方式比较有用。比如:在博客中需要在每一个页面显示文章分类列表。因为在文章分类列表会在不同的model中进行填充。
网友评论

