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

时间:2022-11-02 23:06:20

转载自 :  《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区别的更多相关文章

  1. @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别

    ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别 对这四个的区别做一个总结,清理一下思路 ...

  2. @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别 .(转)

    mvc renderaction   renderpartial  杂谈      Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的. ...

  3. asp.net MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别

    @Html.Action:需要有对应的Action,并且Action方法有返回值.(注:处理完业务逻辑同时,也需要返回所需值) @{Html.RenderAction}:需要有对应的Action,Ac ...

  4. MVC中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别

    Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的. 1. Html.RenderPartial是直接将用户控件嵌入到界面上: <% ...

  5. 关于asp&period;net MVC3 ----&commat;Html&period;Partial&comma;&commat;Html&period;Action&comma;&commat;Html&period;RenderPartial&comma;&commat;Html&period;RenderAction

    1.带有Render的方法返回值是void,在方法内部进行输出:不带的返回值类型为MvcHtmlString,所以只能这样使用:@Html.Partial 对应 @{Html.RenderPartia ...

  6. 转载ASP&period;NET MVC 中&commat;Html&period;Partial&comma;&commat;Html&period;Action&comma;&commat;Html&period;RenderPartial&comma;&commat;Html&period;RenderAction区别

    对这四个的区别做一个总结,清理一下思路,方便以后使用: 1.带有Render的方法返回值是void,在方法内部进行输出:不带的返回值类型为MvcHtmlString,所以只能这样使用:     @Ht ...

  7. asp&period;net 中&commat;Html&period;Partial&comma;&commat;Html&period;Action&comma;&commat;Html&period;RenderPartial&comma;&commat;Html&period;RenderAction

    1.带有Render的方法返回值是void,在方法内部进行输出:不带的返回值类型为MvcHtmlString,所以只能这样使用: @Html.Partial 对应 @{Html.RenderParti ...

  8. asp&period;net MVC3&period;0 中&commat;Html&period;Partial&comma;&commat;Html&period;Action&comma;&commat;Html&period;RenderPartial&comma;&commat;Html&period;RenderAction

    asp.net MVC3.0 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction 1.带有Render的方法返回值是v ...

  9. &commat;Html&period;Partial&comma;&commat;Html&period;Action&comma;&commat;Html&period;RenderPartial&comma;&commat;Html&period;RenderAction &lbrack;转&rsqb;

    @Html.Action:需要有对应的Action,并且Action方法有返回值.(注:处理完业务逻辑同时,也需要返回所需值) @{Html.RenderAction}:需要有对应的Action,Ac ...

随机推荐

  1. c&plus;&plus; 中string用c输入输出

    对于string自带的函数 c_str()返回的const char*类型,对于scanf函数不能使用,可以通过如下方法使用 string s; scanf("%s",&* ...

  2. oracle表的管理

    表名和列的命名规则 必须以字母开头: 长度不能超过30字符: 不能使用oracle的保留字: 只能使用如下字符:A-Z,a-z,0-9,$,#等:   数据类型: 字符型: char       定长 ...

  3. Java中的移位运算符

    java中有三种移位运算符 <<      :     左移运算符,num << 1,相当于num乘以2 >>      :     右移运算符,num >& ...

  4. WIN7&lpar;VISTA&rpar;系统无法上网问题排查方法

    WIN7(VISTA)系统无法上网问题排查方法 一.无法通过DHCP自动获取到IP 1. 确认正确配置路由器的DHCP功能 a.一般租期建议设置为1-3小时,推荐设置1小时. b.DHCP地址池不要和 ...

  5. ios7 UITableView底线右移

    在ios7上UITableView底线右移了,我们可以通过添加代码来让它铺满整个屏幕的宽,在使用前要加上判断是否有这个方法 if ([_tableView respondsToSelector:@se ...

  6. hdu5171(矩阵快速幂)

    传送门:GTY's birthday gift 题意:GTY的朋友ZZF的生日要来了,GTY问他的基友送什么礼物比较好,他的一个基友说送一个可重集吧!于是GTY找到了一个可重集S,GTY能使用神犇魔法 ...

  7. Class对象的创建与使用

    类与Class对象 类是程序的一部分,每个类都有一个Class对象,即每当编写并且编译一个新类的时候就会产生一个Class对象.当程序创建第一个对类的静态成员的引用的时候,会将该类动态加载到JVM中, ...

  8. 基于ubuntu16&period;04快速构建Hyperledger Fabric网络

    前言 最近在参加一个比赛,使用到了区块链的开源软件hyperledger,由于之前从未接触过区块链,以及和区块链开发相关的内容,所有在网上查阅了大量的资料,并且通过学习yeasy(杨宝华)开源的入门书 ...

  9. IDEA使用Maven搭建SSM框架

    搭建环境:Intellij IDEA 2017 JDK 1.8 Tomcat 8.5 MySQL 5.7 Spring 4.x Mybatis 3.x 这个过程确实太麻烦了,我用了两个小时 所以建议用 ...

  10. 学习yii2&period;0——事件

    参考:https://www.yiichina.com/doc/guide/2.0/concept-events 事件 yii框架中的事件定义和JavaScript中的事件定义差不多:为某个事件绑定一 ...