Skip to main content

asp.net mvc different between ViewComponent Html.Partial Html.Action

asp.net mvc ViewComponent Html.Partial Html.Action的区别

mvc4及以前,通常使用Html.Partial("viewName"),Partial函数的返回值为MvcHtmlString,直接输出在Rozar模版中。
Html.RenderPartial("viewName")的返回值是void,输出内容流中。
查看mvc5的源代码发现Partial也是调用RenderPartial,然后输出到TextWriter来转换为字符串。
上面两个不用controller,不通过action。

Html.Action的返回值PartialView(),通过调用action来获取PartialView。
例如,通过ajax调用action来更新客户端Partial输出的内容。

mvc5中新增的ViewComponent,所有的都由ViewComponent继承而来。总体来说可认为是一个增强版Partial。
能有自己单独的代码文件,又不用的实现controller。

ref: http://www.cnblogs.com/gesenkof99/archive/2013/06/03/3115052.html
http://stackoverflow.com/questions/29823507/why-should-we-use-mvc-6-feature-view-components-over-partial-view-what-is-the-d
http://www.tugberkugurlu.com/archive/exciting-things-about-asp-net-vnext-series-mvc-view-components

Comments

Popular posts from this blog

使用Google Chrome开发版或是beta版

Google的Chrome是个非常不错的浏览器,界面简洁,javascript执行速度非常快(完全体会不到,对我来说瓶颈是网速,相对常用firefox来说js速度方面到没什么很明显的提升),但是功能还是有限。一般常用的都是稳定版,但是为了体验最新的进步不少人也有安装beta版的,为了体验最新最新的改变还以安装开发版的(相比beta可能更不稳定,bug更多)。现在有了 Google Chrome Channel Changer , 就可以随时在3个版本之间换来换去。 选好版本,点击“Update”就可以关闭这个Channel Changer了。然后再去你的chrome中选择“About Google Chrome”,就会自动的检查下载安装新版本。提示安装完成后重启一下chrome就行了。 用了1个月左右的chrome,还是换回firefox,最小字体是个问题,字体平滑也完全没用,看惯雅黑,点阵字体完全看不惯哦。

PSP 三国无双 大蛇传 人物图片

PSP三国无双 大蛇传 人物图片(Google Picasa相册) 现在还不全,太多了。。。(2008-03-23) 搞完了,体力活啊。(2008-04-20) 暂时放弃吧,那个空间到期很久了,忘了更新这里了。什么时候找到地方放再跟新。(2009-04-29) 上传到Google Picasa(2009-09-25)