Action、RenderAction、Partial、RenderPartial區別
阿新 • • 發佈:2017-12-08
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區別