2010年8月9日 星期一

Html.Action、Html.Partial、Html.RenderAction與Html.RenderPartial的基本運作與介紹

在使用MVC的方式建立網站應用程式中,我們可以使用一些Html Helper來幫助我們產生精簡的字串型態HTML碼(如Form表單、項目列表或是連結),並放置在View當中,這裡我們介紹Html.Action、Html.Partial、Html.RenderAction與Html.RenderPartial等4種Html Helper使用方式。


應用時機


我們需要在一個主要的View中之部分去呈現另外一個小小的View(以下稱為Partial View),如購物車資訊、登入者資訊、會員維護表單...等等。透過呼叫這些小小的Partial View,我們可以獲得一些HTML碼(如Form表單、項目列表或是一些連結),在MVC中若有上述的需求,我們可以透過到這4個Html Helper來產生與完成這項需求。


運作方式


通常我們透過這些內嵌在View中的Html Helper直接回應一個PartialView,或是去執行一個Controller中的某個Action,並將執行結果(字串型態HTML碼或是產生Partial View)回傳到原來呼叫它們的主要View之上,然後內嵌在這個原來主要的View中,成為這個View的一部份。如下圖:




執行Html.Partial之後傳回字串型態HTML碼,執行Html.RenderPartial後則直接呈現Partial View,然後皆內嵌在這個主要的View中,回應給使用者。




Html.Action與Html.RenderAction皆透過執行另外一個Control與Action。執行Html.Action之後傳回字串型態HTML碼,執行Html.RenderAction後最後會直接呈現Partial View,然後內嵌在這個View中,回應給使用者。




每個Html Helper的回應的型態整理如下圖所示:





這4個Html Helper的詳細介紹與範例,將在陸續的文章中說明,與本文相關的連結如下:

Html.Action與Html.RenderAction使用方式
Html.Partial與Html.RenderPartial使用方式
透過呼叫多個動作建立 ASP.NET MVC 檢視
System.Web.Mvc.Html.PartialExtensions類別
System.Web.Mvc.Html.ChildActionExtensions類別

1 則留言:

  1. 從前不太清楚為何要命名為PartialView.看了大大的解說一下就懂了.

    回覆刪除