mvc razor中renderPartial,RenderAction,Partial,Action的使用选择
RenderPartial:
通常被用来显示一个功能相对独立的“块”,比如说显示菜单或者导航条。 RenderPartial输出的结果被作为调用的View的一部分显示。
这个方法会直接将结果写入到当前请求的http response数据流中,这意味着它使用了和当前webpage/template使用的相同的TextWriter对象
方法没有返回值
不需要创建action,使用简单
如果和partial view 对应的view model中,已经存在了partial view展示所需数据,RenderPartial方法会很有用.For example :blog中,显示一篇文章和它的评论, RenderPartial 方法会是比较好的选择,既然文章的评论信息已经存在在view model中
- @{Html.RenderPartial("_Comments");}
这个方法比partial 方法更快,因为它直接将结果系统到当前响应的数据流中
RenderAction:
和上一个一样,执行结果会直接写入当前响应的数据流中
需要创建child action 方法.
如果partial view 的数据独立于对应的view的 viewmodel,则这个方法比较有用,For example : Iblog中每个页面都显示不同的类目菜单,我们最好选择使用RenderAction 既然类目数据是由不同的model提供
- @{Html.RenderAction("Category","Home");}
如果你想缓存partial view,这是最好的选择。
这个方法比action方法快,基于第一条原因
Partial:Partial 回传的一个Object (MvcHtmlString), 回传一个String 把一堆Html给回传出来, 然后写进到主页面上
结果以HTML-encoded 字符串展示
返回的是string类型,所以结果可以存储在变量里.
使用简单,无需创建action
Partial method is useful used when the displaying data in the partial view is already in the corresponding view model.For example : In a blog to show comments of an article, we would like to use RenderPartial method since an article information with comments are already populated in the view model.
Action:
结果直接展示为HtmlString .
- 需要创建对应的child action
- 返回字符串,可以存储在变量里.
Action method is useful when the displaying data in the partial view is independent from corresponding view model.For example : In a blog to show category list on each and every page, we would like to use Action method since the list of category is populated by the different model.
- @{Html.Action("Category","Home");}
可以缓存partial view.
return界面:
PartialView(): 值的缓存:
ViewBag.Test
mvc razor中renderPartial,RenderAction,Partial,Action的使用选择的更多相关文章
- RenderPartial RenderAction Partial Action
MVC Razor中有不同的展现partial view的方法,许多开发人员子在选择使用 RenderPartial or RenderAction or Partial or Action help ...
- ASP.NET MVC: Razor中的@:和语法
本文将讨论新版Razor里视图引擎中支持的两个有用的语法功能:@:和<text>语法. 用Razor实现流畅编程 ASP.NET MVC 3配有一个新的名为“Razor”的视图引擎选项(除 ...
- MVC Razor中 如何截断字符串
有时候显示的内容过长,使用MVC编程时,如何截断显示的内容呢.我知道你肯定有很多办法这样做的,但是在学习MVC时,还是使用一些新的办法做吧> Razor 标记语法编程. @helper Trun ...
- 在MVC设计模式中,JavaBean的作用是。(选择1项)
A.Controller B.Model C.业务数据的封装 D.View 解答:B
- MVC部分视图的使用(Html.Partial/RenderPartial、Html.Action/RenderAction、RenderPage)
ASP.NET MVC 里页面往往会有许多重用的地方,可以进行封装重用. 使用部分视图有以下优点: 1. 可以简写代码. 2. 页面代码更加清晰.更好维护. 在视图里有多种方法可以 加载部分视图,包括 ...
- [转]MVC Razor模板引擎 @RenderBody、@RenderPage、@RenderSection及Html.RenderPartial、Html.RenderAction
本文参考自下面文章整理 MVC Razor模板引擎 @RenderBody.@RenderPage.@RenderSection及Html.RenderPartial.Html.RenderActio ...
- ASP.NET MVC中Section、Partial View 和 Child Action(转载)
概括的讲,View中的内容可以分为静态和动态两部分.静态内容一般是html元素,而动态内容指的是在应用程序运行的时候动态创建的内容.给View添加动态内容的方式可归纳为下面几种: Inline cod ...
- 从ASP.Net Core Web Api模板中移除MVC Razor依赖项
前言 :本篇文章,我将会介绍如何在不包括MVC / Razor功能和包的情况下,添加最少的依赖项到ASP.NET Core Web API项目中. 一.MVC VS WebApi (1)在ASP. ...
- 体验 ASP.NET Core 1.1 中预编译 MVC Razor 视图
这是从 ASP.NET Core 1.1 官方发布博文中学到的一招,可以在 dontet publish 时将 Razor 视图编译为 .dll 文件. 需要在 project.json 中添加如下配 ...
随机推荐
- Cursors in MySQL Stored Procedures
https://www.sitepoint.com/cursors-mysql-stored-procedures/ After my previous article on Stored Proce ...
- 自行实现PHP代码注解特性
PHP 注解 到目前为止,PHP的反射特性中是不支持注解Annotation的,但是可以支持基本的文档注释内容的获取 ReflectionMethod::getDocComment() - 从5.1. ...
- Java程序,JDK的安装、环境的配置
打开文件包,找到jdk-8u111-windows-x64 (64位) 双击打开安装界面 路径自行更改;(不可使用中文字段)新建一个文件夹放后面这个安装包 二.设置环境变量 右键我的电脑-属性-高 ...
- IOS----友盟推送详解
这两天好好的研究了下推送这功能,关于它我将分成两部分来讲,一.IOS手机端,二.Servlet服务端,今天先讲下IOS端 一.感受 下面讲下我对推送这个功能在IOS下的感受,这个算是我做了服务端的功能 ...
- 优化加载jQuery的方法
请看下面的一段代码: <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js" ...
- MUI(1)
今天小编用HBuilder+MUI开发移动APP,不用Android原生也不用IOS原生,仅仅用HTML5+MUI.小编也是初学者所以如有不准确的地方望大家指出帮助小编改正,同时也可以促进大家的深入学 ...
- Java的自动递增和递减
和C 类似,Java 提供了丰富的快捷运算方式.这些快捷运算可使代码更清爽,更易录入,也更易读者辨读.两种很不错的快捷运算方式是递增和递减运算符(常称作"自动递增"和"自 ...
- (3)JSTL的fn方法库
fn:functions,fn之所以称之为方法库,是因为fn使用不像core,fmt标签那样遵循<prefix:tagName>的格式,而是遵循fn:methodName()的格式 < ...
- org.hibernate.NonUniqueObjectException: a different object with the same identifier value was alread---------程序报错
今天遇到了这个问题: org.hibernate.NonUniqueObjectException: a different object with the same identifier value ...
- Hibernate(一)__简介
一. hibernate是什么 (一)hibernate 是一个orm框架,orm (object relation mapping) 对象关系映射框架 o object -> 业务层(只对对象 ...