Action、RenderAction、Partial、RenderPartial区别

都属于用户控件,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那样命中断点。

原文地址:https://www.cnblogs.com/Gxqsd/p/8004218.html