ASP.NET MVC4 部分视图
2016-01-28 15:21
633 查看
ASP.NET MVC4 部分视图
2014-10-24 16:48 by 易code, 2663 阅读, 1 评论, 收藏, 编辑【部分视图】
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 验证码(C#) MVC
- ASP.net 验证码(C#) MVC
- ASP.NET MVC4 部分视图
- ASP.NET生命周期详解(转)
- 在ASP.NET WEBFORM 中后台实现gridview全选功能
- asp.net MVC之整合AJAX
- Asp 操作Access数据库时出现死锁.ldb的解决方法
- Asp.Net面试(附答案)
- ASP.net生成条形码
- ASP.NET MVC 中将数据从View传递到控制器中的三种方法(表单数据绑定)
- [转] ASP.NET MVC 模型绑定的功能和问题
- 提高 ASP.NET Web 应用性能的 24 种方法和技巧
- asp.net服务器控件button先执行js再执行后台的方法
- Asp.Net MVC3 简单入门详解过滤器Filter
- ASP.NET SignalR 与LayIM配合,轻松实现网站客服聊天室(四) 添加表情、群聊功能
- ASP.NET MVC 表单提交多层子级实体集合数据到控制器中
- JasperReport 报表在SpringMVC WEB项目中的应用(JavaBean作为数据源)
- 2-Metasploit基础
- asp.net判断用户是否重复登录
- ASP.NET 5简介