MVC 部分视图:Partial() 、RenderPartial() 、 Action() 、RenderAction() 、 RenderPage() 区别

在视图里有多种方法可以 加载部分视图,包括:

Partial()  Action()  RenderPartial()  RenderAction()  RenderPage() 方法。

以下是这些方法的差别:

Partial 与 RenderPartial 方法

1. Razor 语法:@Html.Partial() 与 @{Html.RenderPartial();}

2. 区别:Partial 可以直接输出内容,它内部是 将 html 内容转换为 string 字符(MVCHtmlString),然后缓存起来,最后在一次性输出到页面。显然,这个转换的过程,会降低效率,所以通常使用 RenderPartial 代替。

RenderPartial 与 RenderAction 方法

1. Razor 语法:@{Html.RenderPartial();}  与 @{Html.RenderAction();}

2. 区别:RenderPartial 不需要创建 Controller 的 Action ,而 RenderAction 需要在 Controller 创建要加载的 Action。

RenderAction 会先去调用 Contorller 的 Action ,最后再 呈现视图,所以这里 页面会在 发起一个链接。

如果这个部分视图只是一些简单 的 html 代码,请使用 RenderPartial。 但如果这个部分视图 除了有 html 代码外,还需要 通过 读取数据库里的数据 来渲染,就必须使用 RenderAction 了,因为 它可以在 Action 里调用 Model里的     方法读取数据库,渲染视图后在呈现,而 RenderPartial 没有 Action,所以无法做到。

RenderAction 渲染的部分视图 相当于 完全独立的页面 内容和原页面的完全独立(如Model  ViewBag)

RenderPartial 渲染的部分视图 可以使用原来视图的 Model 和 ViewData。

RenderAction 与 Action

1. Razor 语法:@{Html.RenderAction();}  与 @Html.Action();

2. 区别:Action 也是直接输出,和 Partial 一样,也存在一个转换的过程。不如 RenderAction 直接输出到 当前           HttpContext 的效率高。

RenderPage 与 RenderPartial 方法

1. Razor 语法:@{Html.RenderPartial();}  与 @RenderPage()

原文地址:https://www.cnblogs.com/lxf1117/p/9539653.html

时间: 2024-10-04 22:26:03

MVC 部分视图:Partial() 、RenderPartial() 、 Action() 、RenderAction() 、 RenderPage() 区别的相关文章

[转]Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法

Partial 和RenderPartial:这两个的性质都是一样, 只指把一个个View给镶入进来, 只是回传值有点不一样Partial 回传的一个Object (MvcHtmlString), 回传一个String 把一堆Html给回传出来, 然后写进到主页面上 @Html.Partial("ViewName") RenderPartial 回传的是void, 而这个方法会在主页面上添加指定的View @{            Html.RenderPartial("V

Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法【转发】

Partial 和RenderPartial:这两个的性质都是一样, 只指把一个个View给镶入进来, 只是回传值有点不一样Partial 回传的一个Object (MvcHtmlString), 回传一个String 把一堆Html给回传出来, 然后写进到主页面上 @Html.Partial("ViewName") RenderPartial 回传的是void, 而这个方法会在主页面上添加指定的View @{            Html.RenderPartial("V

Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法

Partial 和RenderPartial:这两个的性质都是一样, 只指把一个个View给镶入进来, 只是回传值有点不一样Partial 回传的一个Object (MvcHtmlString), 回传一个String 把一堆Html给回传出来, 然后写进到主页面上 @Html.Partial("ViewName") RenderPartial 回传的是void, 而这个方法会在主页面上添加指定的View @{            Html.RenderPartial("V

Asp.Net MVC3.0 Partial RenderPartial Action RenderAction 区别和用法

本人写的博文不多,专业知识不强,以下纯属于个人笔记.如有不对,还请各路大拿,拍砖指导,谢谢! 区别: 1.Partial 与 RenderPartial 两个方法性质基本一样,只是把一个静态用户控件给嵌入进来. 2.Partial 回传一堆html代码,直接写进到页面上@Html.Partial("ViewName"); 3.RenderPartial 回传的是void, 而这个方法会在主页面上添加指定的View @{ Html.RenderPartial("ViewName

mvc 分部视图(Partial)显示登陆前后变化以及Shared文件夹在解决方案资源管理器中没有显示的问题

刚开始我的解决方案资源管理器中没有显示Shared文件夹,但Shared文件夹在项目中是实际存在的,我搜了下好像没有类似的解答(可能是我搜索的关键词不够准确).后来自己看了下vs2012. 其实解决方法很简单: 首先,视图->解决方案资源管理器.在解决方案资源管理器中点击下图中的红色方框中那个"显示所有文件". 然后会出现类似图片中的文件,找到自己要的,鼠标右击一下,点击下图中红色方框中的“包括在项目中”即可. mvc分部视图显示登陆前后的变化 前后效果是这样的 登录前:: 登陆

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

@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

MVC部分视图的使用(Html.Partial/RenderPartial、Html.Action/RenderAction、RenderPage)

ASP.NET MVC 里页面往往会有许多重用的地方,可以进行封装重用. 使用部分视图有以下优点: 1. 可以简写代码. 2. 页面代码更加清晰.更好维护. 在视图里有多种方法可以 加载部分视图,包括: Partial() .RenderPartial() . Action() .RenderAction() . RenderPage() 方法 一.Partial与RenderPartial 1.Razor 语法: @Html.Partial() 与 @{Html.RenderPartial()