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

转载自 :  《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

时间: 2024-08-12 10:22:08

asp.net mvc @Html.Partial @Html.Action @Html.RenderPartial @Html.RenderAction区别的相关文章

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

mvc renderaction   renderpartial  杂谈      Html.RenderPartial与Html.RenderAction这两个方法都是用来在界面上嵌入用户控件的.      Html.RenderPartial是直接将用户控件嵌入到界面上:     <%Html.RenderPartial("LogOnUserControl");%> 或     <%Html.RenderPartial("~/Areas/Comm/Vie

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

ASP.NET MVC 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction区别 对这四个的区别做一个总结,清理一下思路,方便以后使用: 1.带有Render的方法返回值是void,在方法内部进行输出:不带的返回值类型为MvcHtmlString,所以只能这样使用:    @Html.Partial 对应 @{Html.RenderPartial(....);}    @Html.Action 对应 @{Html.R

asp.net 中@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction

1.带有Render的方法返回值是void,在方法内部进行输出:不带的返回值类型为MvcHtmlString,所以只能这样使用: @Html.Partial 对应 @{Html.RenderPartial(....);}@Html.Action 对应 @{Html.RenderAction(....);} 2.Html.Partial可以直接提供用户控件名作为参数, 而Html.Action需要有对应的Action,在Action内部返回PartailResult(即retun PartialV

@Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction [转]

@Html.Action:需要有对应的Action,并且Action方法有返回值.(注:处理完业务逻辑同时,也需要返回所需值) @{Html.RenderAction}:需要有对应的Action,Action方法没有返回值.(注:只处理业务逻辑,不需要返回值) @Html.Partial:    不需要有Action,直接取ViewName对应的页面内容,有返回值.回传的一个Object (MvcHtmlString), 回传一个String 把一堆Html给回传出来, 然后写进到主页面上:(注

ASP.NET MVC 中 @Html.Partial,@Html.Action,@Html.RenderPartial,@Html.RenderAction 的区别

1.带有Render的方法返回值是void,在方法内部进行输出:不带的返回值类型为MvcHtmlString,所以这样使用:    @Html.Partial 对应 @{Html.RenderPartial(....);}    @Html.Action 对应 @{Html.RenderAction(....);} 2.Action.RenderAction加载方法的视图,执行Controller → Model → View的顺序,然后把产生的页面带回到原来的View中再回传.而Partial

关于asp.net MVC3 [email&#160;protected],@Html.Action,@Html.RenderPartial,@Html.RenderAction

1.带有Render的方法返回值是void,在方法内部进行输出:不带的返回值类型为MvcHtmlString,所以只能这样使用:@Html.Partial 对应 @{Html.RenderPartial(....);}@Html.Action 对应 @{Html.RenderAction(....);}2.Html.Partial可以直接提供用户控件名作为参数,而Html.Action需要有对应的Action,在Action内部返回PartailResult(即retun PartialView

ASP.NET MVC 入门9、Action Filter 与 内置的Filter实现(介绍)

原帖地址:http://www.cnblogs.com/QLeelulu/archive/2008/10/09/1307660.html 有时候你想在调用action方法之前或者action方法之后处理一些逻辑.为了支持这个.ASP.NET MVC同意你创建action过滤器.Action过滤器是自己定义的Attributes.用来标记加入Action方法之前或者Action方法之后的行为到控制器类中的Action方法中. 一些可能用到Action过滤器的地方有: 日志,异常处理 身份验证和授权

[转]ASP.NET MVC 入门9、Action Filter 与 内置的Filter实现(介绍)

有时候你想在调用action方法之前或者action方法之后处理一些逻辑,为了支持这个,ASP.NET MVC允许你创建action过滤器.Action过滤器是自定义的Attributes,用来标记添加Action方法之前或者Action方法之后的行为到控制器类中的Action方法中. 一些可能用到Action过滤器的地方有: 日志,异常处理 身份验证和授权 - 限制用户的访问 输出缓存 - 保存一个Action的结果 网络爬虫的过滤 本地化 动态Action - 将一个Action注入到控制器

asp.net mvc 使用Ajax调用Action 返回数据【转】

使用asp.net mvc 调用Action方法很简单. 一.无参数方法. 1.首先,引入jquery-1.5.1.min.js 脚本,根据版本不同大家自行选择. <script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script> 2.在Controllers中书写前台Ajax需要调用的Action,比如: