当前位置 > 首页 > Asp.net

asp.net MVC3 Helpers Partial RenderPartial Action RenderAction

2012-11-19 22:55:00来源:Asp.net

partial

RenderPartial

html.Partial 有返回值(MvcHtmlString)  而RenderPartial 则没有任何的返回值(void)

partial输出到临时变量StringWriter  而renderPartial则是直接输出到HtmlHelper.ViewContext.Writer(即直接输出到response中)

调用语法也不同:@Html.Partial(“partialViewName”)

@{Html.RenderPartial(“partialName”);}  即renderPartial是有边界存在的

Action

RenderAction

RenderPartial 和RenderAction的不同点:

1.RenderPartial的数据来自调用的View ,而RenderAction来自自己。

2.RenderAction会发起一个新的Request,而RenderPartial不会。

如何选择:根据两者不同点中的第二点,由于RenderAction会调用一个新的Action方法,而asp.net MVC中的Action是最小的缓存单位,因此如果某一个块的数据比较固定,不会因为访问者的不同而发生变化,那么这时就是使用RenderAction的时候了。题外话,对于RenderAction会发起一个新的Reuest,感觉对调用页面的流程进行破坏了。一个View在显示的时候,自己发起请求Request去获取数据来显示,显然破坏了作为一个View的原则:A View Should only know how to render,but not what to render!

ChildAction Attribute   the attribute prevents the runtime from invoking the action directly via the URls;

 

In MVC 3 there is also a new property on the ControllerContext named IsChildAction.IsChildAction  will be true when someone calls an action via Action or RenderAction( but false  when invoked via Urls).

Action  RenderAction  Partial  RenderPartial  的作用都相当于web form时代的用户控件(User Control),只是加载的方式可能不同,但是最后得到的效果都是大同小异的

本文链接



  • 教你30秒打造强类型ASP.NET数据绑定

    2011-1-30 2:06:00

    数据绑定似乎是ASP.NET老掉牙的东西了。可是你知道吗,只需要一点小小的改动就可以替换Eval,摆脱字符串依赖并且大大提高性能。 首先在code behind中加入以下方法 pr

  • .NET与SAP的来往

    2011-10-31 21:35:00

    这些天要做一个小项目——用Windows服务调用SAP接口获取数据。网上百度之,确定了方案——用SAP .NET Connector 3.0来与SAP

  • ASP.NET 利器:在Global.asax之外实现Application_Start/End,程式元件使用就要这么灵活!

    2011-12-13 13:15:00

    在System.Web命名空间下, .NET 4.0版本新增了一个 PreApplicationStartMethodAttribute 类,利用它可以Appilcation_Start()前触

  • ASP.NET Routing 初试

    2011-6-21 16:04:00

    今天刚发现在Web Application 下也可以使用MVC中的Route功能,额,好吧,我out了。 以后可以像mvc中那样使用Route,可以不用Url Rewriting了. 1.添

  • Dot Net屏幕传输 v1.0

    2009-12-10 9:41:00

    阅读: 226 评论: 2 作者: stg609 发表于 2009-12-10 08:38 原文链接 上一次介绍了 图像差异比较 的方法,原想进一步修改算法,采用动态分块的实现方式。但是

  • ICE源码研究

    2007-9-3 21:01:00

    ICE 3.2发布了。 http://www.zeroc.com/forums/announcements/3019-ice-3-2-released.html 使用C++开发分布式

  • Free Webinar: Telerik OpenAccess 101

    2009-4-8 13:19:00

    Join Telerik Evangelist Kevin Babcock as he takes you on a tour of Teleriks new Object/Relational M

  • .NET Cheat Sheets

    2007-5-23 23:28:00

    Nice posters collection by Jihn Sheehan. Now I need more walls in my office! .NET Format String Q

  • Identifying ASP.NET controls is the first step

    2007-8-30 21:54:00

    Every time I build an ASP.NET web form, I invest a certain amount of my development effort in givin

  • 引用第三方类库的私有类与私有方法

    2009-4-24 11:26:00

    问题:引用第三方类库的私有类与私有方法 解决方法 此问题的本质就是修改 .net 程序集的元数据,把相应的类与方法的私有修饰符改为公有。 假设有以下的程序集: