当前位置 > 首页 > 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),只是加载的方式可能不同,但是最后得到的效果都是大同小异的

本文链接



  • Winson.Framework 3.2 发布!!!

    2009-4-7 0:41:00

    摘要: Winson.Framework 3.2发布 [2009-04-6]:一、功能更新:在生成代码时,可以选择是否使用自增ID的数据库 为conditionValue里添加了in条件的使用 增加

  • 请讨论分层,而不是三层

    2009-5-26 0:34:00

    讨论完了语言又讨论培训,讨论完了培训又讨论分层,这些话题似乎永远都讨论不完。讨论总是有益的,但是如果讨论的命题本身就有问题的话,可能副作用就比益处来的更大了。 三层 = 表现层+业务逻辑层+数据访

  • Demo Dashboard

    2009-6-8 9:44:00

    I saw John Bristowe twit about Demo Dashboard today and I was intrigued.  Sure looks cool

  • 跨浏览器仿模式对话框的实现

    2007-5-14 10:13:00

    模式对话框,可以很方便地在网页间传递数据,并且可以让用户进行线性操作,IE上的showModalDialog效果不错,但可惜其他浏览器又不支持,况且IE也远离了95%的市场占有率。网上有很多仿模式窗

  • [你必须知道的.NET]第十五回:继承本质论

    2007-9-10 22:05:00

    摘要: 关于继承,你是否驾熟就轻,关于继承,你是否了如指章。 本文不讨论继承的基本概念,我们回归本质,从编译器运行的角度来揭示.NET继承中的运行本源,来发现子类对象是如何实现了对父类成员与

  • 添加Silverlight应用到HTML

    2009-12-25 5:46:00

    阅读: 0 评论: 0 作者: jv9 发表于 2009-12-25 04:16 原文链接 Silverlight是跨浏览器,跨客户平台的浏览器插件,可以应用在Windows,Linux,

  • 制作WPF联机飞行棋的失败体验

    2009-8-30 12:31:00

    摘要:       飞行棋作为幼时的娱乐项目在我的记忆里印象是相当深刻的,用编码实现它也一直是我自己的目标。WPF有着图像编码的舒适体验,自然成为我

  • Factoring Configuration

    2007-4-26 4:46:00

    A little known attribute, configSource, enables some level of configuration factoring and splitting

  • 无法调试 Outlook 插件?

    2007-8-25 2:26:00

    刚才想在自己的邮件机器上做一个 Outlook 插件的小实验,却发现 Visual Studio 2005 不能正确启动 Outlook 进入调试模式。感觉奇怪之余,马上想到“不能启动 Outloo

  • Unwanted Page Breaks in ReportViewer

    2010-7-26 11:51:00

    I needed to create a dynamic PDF document based on user selections for a system I created this summ