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

本文链接



  • 开发生涯中经常"溜达"的网站

    2009-9-17 3:21:00

    摘要: 开发生涯中经常溜达的网站...... --------------------------------------------------------------------------

  • Calling WCF Services in Your Data Access Layer

    2010-1-14 13:51:00

    After you have completed an N-tier Silverlight application (check my blog: http://weblogs.asp.ne

  • ASTreeView 1.0发布(一个ASP.NET树控件)

    2009-8-28 3:03:00

    摘要: 经过陆陆续续漫长的开发,ASTreeView终于可以和大家见面啦!之前也有和几位朋友有过交流,给他们看过些demo,反响还可以,所以这几天完善好demo以后斗胆发到首页和大家分享。ASTre

  • 走向ASP.NET架构设计—第三章—分层设计,初涉架构(后篇)

    2010-10-29 7:51:00

    走向ASP.NET架构设计—第三章—分层设计,初涉架构(后篇) 前言:本篇主要是接着前两篇文章继续讲述! 本篇的议题如下: 4

  • 浅谈.NET下的多线程和并行计算(八)Winform中多线程编程基础

    2010-1-6 14:02:00

    阅读: 393 评论: 1 作者: lovecindywang 发表于 2010-01-06 12:04 原文链接 首先我们创建一个Winform的应用程序,在上面添加一个多行文本框和一个

  • asp.net Mvc 入门(一)

    2010-10-27 19:44:00

    Mvc 架构大家早已耳熟能详了,今天想通过这个教程把mvc的一些基本知识进行总结,供大家参考(如有不正之处欢迎指正) 本教程通过一个基本Mvc的案例穿插来讲解Mvc架构的基本知识。

  • 网站、数据库的衍变之路(六)

    2009-9-26 1:59:00

    摘要: 这种方式很像是面试投递简历,你把简历投递出去,你并不知道简历是哪个人处理的,而处理完后,回复给你的还是这个邮箱地址就行了。这个邮箱要是是很多人公用的,那么就和这里的原理一样了。 作者资料

  • jQuery Templates in ASP.NET - Blogs Series

    2010-12-17 9:14:00

    In the previous days, I wrote several blog posts related to the great jQuery Templates plugin showi

  • 用Silverlight实现简单鼠标手势控制页面滚动

    2009-8-17 4:00:00

    摘要: 看了MSDN的WebCast的《用Silverlight实现简单鼠标手势控制页面滚动》视频,我就他的讲述写出了一个小例子。希望大家拍砖。还是想上个图吧:这蓝色部分就是鼠标手势控制的部分,划过

  • Windows Mobile上的蓝牙点对点通信

    2009-2-5 17:25:00

    摘要: 使用WM6 SDK中自带的例子,在WM5和WM6设备之间建立点对点的bluetooth通信,给出了调试方法和调试结果。 阅读全文 --------------------------