在ASP.NET MVC中加载部分视图的方法及差别

在视图里有多种方法可以加载部分视图,包括Partial() 、Action()、RenderPartial()、RenderAction()、RenderPage()方法。下面说明一下这些方法的差别。

1. Partial与RenderPartial方法

  Partial可以直接输出内容,在内部将html内容转化为String字符(MVCHtmlString),然后缓存起来,最后一次性输出到页面。效率比较低

  通常使用RenderPartial代替

 2. RenderPartial与RenderAction方法

  RenderPartial不需要创建Controller的Action,而RenderAction需要Controller中创建要加载的Action。

  如果部分视图只是一些简单的Html代码,请使用RenderPartial

3. RenderAction与Action方法

  Action也是直接输出,和Partial一样存在一个转换的过程,不如RenderAction直接输出效率高

4. RenderPage与RenderPartial方法

  使用RenderPage呈现部分视图就不能使用原来视图的Model和ViewDate,只能通过参数来传递;而RenderPartial可以使用原来视图的Model和ViewData。

  

原文地址:https://www.cnblogs.com/mrfang/p/8460782.html

时间: 2024-11-09 02:49:48

在ASP.NET MVC中加载部分视图的方法及差别的相关文章

ASP.NET MVC中加载WebForms用户控件(.ascx)

原文:ASP.NET MVC中加载WebForms用户控件(.ascx) 问题背景 博客园博客中的日历用的是ASP.NET WebForms的日历控件(System.Web.UI.WebControls.Calendar),它会为“上一月”.“下一月”的链接生成"__doPostBack()"的js调用,如下图: 目前发现它会带来两个问题: 1. 不支持IE10: 2. 某些电脑不允许执行__doPostBack. 问题提炼 前提: 我们想以最低的成本解决这个问题,也就是对当前代码尽可

ASP.NET MVC 动态加载 *.ascx

在Controller中: public ActionResult LoadFoo()        {             return PartialView("Foo", aModel);        } Javascript: function loadFoo() {        $.ajax({            url: "LoadFoo",            success: function(data) {              

ASP.NET MVC动态加载数据

ASP.NET MVC动态加载数据,一般的做法是使用$.each方法来循环产生tabel: 你可以在html时先写下非动态的部分: <table> <tr> <th style="width:10px;"><input id="SelectAll" type="checkbox" /></th> <th>ID</th> <th>Port_Start&l

cad中在c#.net中加载lisp程序的方法

主要是想将以前的lisp程序整合到现在的.net菜单中才会这么干的 using Autodesk.AutoCAD.Windows; using Autodesk.AutoCAD.Runtime; using System.Windows.Forms; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.ApplicationServices; usi

关于spring MVC中加载多个validator的方法。

首先讲下什么叫做validator: validator是验证器,可以验证后台接受的数据,对数据做校验. SpringMVC服务器验证有两种方式,一种是基于Validator接口,一种是使用Annotaion JSR-303标准的验证. 1.使用Annotaion JSR-303标准的验证 使用这个需要导入支持JSR-303标准的包,建议使用hibernate Validator这个包,先看这个标准的原生标注: 限制 说明 @Null 限制只能为null @NotNull 限制必须不为null

如何在asp.net mvc中添加自定义的HTML辅助种方法

很久没在博客园发表文章了,今天来总结一下如何在asp.net mvc中添加自定义的HTML辅助方法.我们现在设计这么一个目前,利用自定义的HTML方法来渲染一个普通的img标记.直接进入主题吧: 首先我们先来看一下一个普通的img标签在HTML中的代码: <img src="Content/images/封面.jpg" alt="图片" id="img01" width="500px" height="250p

使用Filter跟踪Asp.net MVC页面加载(转)

转载地址:http://www.cnblogs.com/JustRun1983/p/4027929.html 最近,客户一直反馈系统使用慢,有时候能够指出具体是哪个页面,有时候又只是笼统地反馈慢.这种问题就像是幽灵一样,非常不好处理.因为导致这种问题的因素非常之多,而且在开发工程中,很难模拟出实际运行是的环境.理论上,对于所有的页面做压力测试是个解决方案,但是这种方式的成本太高,又没有办法很快地定位和解决客户的问题. 最后,考虑通过创建Filter来在访问Action之前记录一个时间,在页面Re

使用Filter跟踪Asp.net MVC页面加载时间

最近,客户一直反馈系统使用慢,有时候能够指出具体是哪个页面,有时候又只是笼统地反馈慢.这种问题就像是幽灵一样,非常不好处理.因为导致这种问题的因素非常之多,而且在开发工程中,很难模拟出实际运行是的环境.理论上,对于所有的页面做压力测试是个解决方案,但是这种方式的成本太高,又没有办法很快地定位和解决客户的问题. 最后,考虑通过创建Filter来在访问Action之前记录一个时间,在页面Render完成之后,再记录一下时间.通过比较这2个时间的差值来跟踪每个页面的加载性能.如果对于MVC中的Filt

在MVC中加载view(点开链接)的方式

主要有: Html.ActionLink Html.RenderPartial Html.RenderAction Html.Partial AJAX.ActionLink load 浏览器对象模型 (BOM)(Browser Object Model) html中 1. Html.ActionLink 比如html代码 @Html.ActionLink("查看", "index", "home", new { ID="first&qu