首页 > Web开发 > 详细

asp.net mvc @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderAction区别

时间:2015-03-19 21:44:36      阅读:900      评论:0      收藏:0      [点我收藏+]

 

转载自 :  《asp.net mvc @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderAction区别

先复制过来。。

 

带Render的方法返回值是void,在方法内部进行输出;不带Render的返回值类型为MvcHtmlString,是一个字符串。

Partial和RenderPartial:直接加载视图文件内容;Action和RenderAction:重新执行一次Controller→Model→View的顺序,然后把产生的页面带回到原来的View中再回传。

Partial和RenderPartial:可以直接提供用户控件名作为参数;Action和RenderAction:需要有对应的Action,在Action内部返回PartialResult(即return PartialView())。

对于简单的没有任何逻辑的用户控件,推荐使用Partial;对于需要设置一些Model的用户控件,推荐使用Action。

使用Html.Action有另外一个好处,就是在return PartialView时可以根据不同的场景选择不同的用户控件。

 

当时用到@Html.Action被耍..然后查到了上边的文章..感觉写的很好..有对比.容易理解

其实他们的共同点就是非常类似于 以前用的 incloud  都是把别处的文件或者值加载到当前页面..

区别就是在应用过程中..如果那个文件内部需要计算的..需要传参的..需要调用数据库等实用Model的..则区分使用..

 

要注意的是  

Action和RenderAction:重新执行一次Controller→Model→View的顺序,然后把产生的页面带回到原来的View中再回传。

 

 

这句话..就意味着..如果你在加载的页面里..不修改Layout 的值..输出的结果很可能令你吃惊..因为要报错的..

 

或者是把你调用的这个文件的值又填充到了你母版页的@RenderBody() 处..

 

所以建议在这个文件的前边写上 Layout=null

 

asp.net mvc @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderAction区别

原文:http://www.cnblogs.com/iiwen/p/4351808.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!