1. 程式人生 > >Action、RenderAction、Partial、RenderPartial區別

Action、RenderAction、Partial、RenderPartial區別

int help mon 用戶控件 技術分享 art sta 不同 行業

技術分享圖片都屬於用戶控件,Action是直接連接到Action,並且會執行業務邏輯,通過源代碼分析可以看出Action最終轉換為HTML字符串輸出了。並且通過斷點調試可以發現Action和RenderAction可進行業務邏輯處理。其中由於RenderAction是寫入到流裏不返回,所以需要使用@{}方式調用。

技術分享圖片技術分享圖片

1         public static MvcHtmlString Partial(this HtmlHelper htmlHelper, string partialViewName, object model, ViewDataDictionary viewData)
2         {
3 using (StringWriter writer = new StringWriter(CultureInfo.CurrentCulture)) 4 { 5 htmlHelper.RenderPartialInternal(partialViewName, viewData, model, writer, ViewEngines.Engines); 6 return MvcHtmlString.Create(writer.ToString()); 7 }
8 }
而Partial、RenderPartial和Action、RenderAction極其相似,不同的是Partial和RenderPartial是直接顯示分布頁面信息,不進行業務邏輯處理。即不會像Action那樣命中斷點。



Action、RenderAction、Partial、RenderPartial區別