ASP.NET MVC 部分视图
来源:互联网 发布:淘宝下载安装2017官方 编辑:程序博客网 时间:2024/04/20 19:51
【部分视图】
ASP.NET MVC 里的部分视图,相当于 Web Form 里的 User Control。我们的页面往往会有许多重用的地方,可以进行封装重用。使用 部分视图 : 1. 可以简写代码。2. 页面代码更加清晰、更好维护。
【如何使用】
在视图里有多种方法可以 加载部分视图,包括:
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 与 Action
1. Razor 语法:@{Html.RenderAction();} 与 @Html.Action();
2. 区别:Action 也是直接输出,和 Partial 一样,也存在一个转换的过程。不如 RenderAction 直接输出到 当前 HttpContext 的效率高。
RenderPage 与 RenderPartial 方法
1. Razor 语法:@{Html.RenderPartial();} 与 @RenderPage()
2. 区别:也可以使用 RenderPage 来呈现部分,但它不能使用 原来视图的 Model 和 ViewData ,只能通过参数来传 递。而 RenderPartial 可以使用原来视图的 Model 和 ViewData。
【总结】
ASP.NET MVC 引入的 部分视图(Partial View)和 布局 (Layout)其实都不是新的概念,相当于是 Web Form 里的User Control 和 Master Page 。原理是一样的,只是 实现技术有一点差别。
- ASP.NET MVC 部分视图
- ASP.NET MVC 部分视图
- ASP.NET MVC 部分视图
- ASP.NET MVC 部分视图
- ASP.NET MVC 部分视图
- ASP.NET MVC 之 部分视图
- 【ASP.NET MVC】视图
- ASP.NET MVC 5 - 视图
- ASP.NET MVC 视图(一)
- ASP.NET MVC 视图(二)
- ASP.NET MVC 视图(三)
- ASP.NET MVC 视图(四)
- ASP.NET MVC 视图(五)
- ASP.NET MVC 5 - 视图
- Asp.net mvc View视图
- ASP.NET MVC 5 - 视图
- ASP.NET MVC – 视图
- [转自Scott]ASP.NET MVC框架(第三部分): 把ViewData从控制器传到视图
- CSS border-style 属性
- MySQL基础知识
- linux 常用命令2
- android:gravity / android:layout_Gravity,android:padding / android:layout_margin属性区分
- Ubuntu下安装VNC server
- ASP.NET MVC 部分视图
- c++学习日记之使用类来模拟随机漫步
- 大数据理解
- 智联招聘中申请职位之后你根本不知道你申请的职位是啥,而且不想说...
- Java的23种设计模式详解
- Spring框架中的Aop是做什么用的?
- php设置session生存时间
- orale的学习历程
- 收藏