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 。原理是一样的,只是 实现技术有一点差别。

转载于:https://www.cnblogs.com/zxtceq/p/5166410.html

ASP.NET MVC4 部分视图相关推荐

  1. ASP.NET MVC4中@model使用多个类型实例的方法

    有时需要在ASP.NET MVC4的视图的@model中使用多个类型的实例,.NET Framework 4.0版本引入的System.Tuple类可以轻松满足这个需求. 假设Person和Produ ...

  2. [转]ASP.NET MVC4中@model使用多个类型实例的方法

    本文转自:http://blog.csdn.net/hulihui/article/details/48199897 有时需要在ASP.NET MVC4的视图的@model中使用多个类型的实例,.NE ...

  3. .ne中的控制器循环出来的数据如何显示在视图上_Web程序设计-ASP.NET MVC4数据库操作实例...

    ASP.NET MVC4数据库操作实例 之前文章介绍了MVC4与Pure框架结合进行的网页设计过程中如何定义控制器.方法.模型.视图等.并使用实例进行了简单说明.本文将在此基础上进一步说明如何使用MV ...

  4. Asp.Net MVC4入门指南(3):添加一个视图

    在本节中,您需要修改HelloWorldController类,从而使用视图模板文件,干净优雅的封装生成返回到客户端浏览器HTML的过程. 您将创建一个视图模板文件,其中使用了ASP.NET MVC ...

  5. 【ASP.NET MVC4】第五课:视图技术、输出辅助方法、Razor视图引擎、Razor语法、分部视图

    知识点:视图概述.Razor视图引擎.Razor语法.分部视图的使用 1.视图概述 ASP.NET MVC 中视图的作用就是向用户提供界面.视图在得到模型(数据)后,将模型转换成为准备提供给用户的格式 ...

  6. ASP.NET MVC4中调用WEB API的四个方法

    当今的软件开发中,设计软件的服务并将其通过网络对外发布,让各种客户端去使用服务已经是十分普遍的做法.就.NET而言,目前提供了Remoting,WebService和WCF服务,这都能开发出功能十分强 ...

  7. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(31)-MVC使用RDL报表

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(31)-MVC使用RDL报表 这次我们来演示MVC3怎么显示RDL报表,坑爹的微软把MVC升级到5都木有良 ...

  8. 【翻译转载】【官方教程】Asp.Net MVC4入门指南(2):添加一个控制器

    2. 添加一个控制器 · 原文地址:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-c ...

  9. asp.net ajax聊天室,ASP.NET MVC4异步聊天室的示例代码

    本文介绍了ASP.NET MVC4异步聊天室的示例代码,分享给大家,具体如下: 类图: Domain层 IChatRoom.cs using System; using System.Collecti ...

最新文章

  1. PHP中echo与print和print_r
  2. GitHub 企业服务器被曝高危 RCE 漏洞
  3. softmax回归的从零开始实现
  4. AMOS分析技术:测量模型分析;聊聊验证性因子分析(CFA)与探索性因子分析(EFA)的异同点
  5. 【图像增强】基于matlab Frangi滤波器血管图像增强【含Matlab源码 2108期】
  6. float gpu 加速_(总结篇)使用 MATLAB GPU 加速计算|MATLAB 并行计算与分布式服务器|MATLAB技术论坛...
  7. 银河麒麟服务器操作系统设置网卡自启动
  8. Unity3D 2021.1.1F1。更新与下载。
  9. gpgpu学习推荐书籍
  10. 为win10配置多个jdk的方法
  11. 判断输出,输入0,1,2,3,输出aaaa,bbbbb,cccc,dddd(c语言)
  12. 参与微软Docs翻译
  13. Python机器学习实战:如何用Pandas处理缺失值
  14. jenkins插件调用job_Jenkins迁移job插件Job Import Plugin流程详解
  15. 麦肯锡:解决问题的七步骤法
  16. 区块链工程师平均薪资 25~50k?6 个理由告诉你为什么要懂区块链!
  17. 2022.12.7 英语单词背诵
  18. docker环境下安装nginx、挂载文件、docker容器中文乱码
  19. Java多态与泛型 ,动态绑定,静态绑定
  20. unity3D 添加天空盒子

热门文章

  1. RTX5 | 消息队列03 - 获取消息队列里消息的数量,并一次性提取出来
  2. Qt学习之Qt基础入门(中)
  3. mysql约束类型 A P_mysql笔记: 数据类型、约束、范式
  4. Python笔记-uiautomator2截图点击,OpenCV找图
  5. Python笔记-字符串转json
  6. 网站建设:部署与发布
  7. 创建mysql代码实例_MySQL筹建系列之多实例_mysql
  8. java ssm项目_JAVA项目:逝去的SSM
  9. mysql服务等待应答超时_从mysql备份报错来看net_read_timeout 和net_write_timeout参数
  10. 【算法刷题3】二叉树的最大深度