1、带有Render的方法返回值是void,在方法内部进行输出;

    不带的返回值类型为MvcHtmlString,所以只能这样使用:

     @Html.Partial 对应 @{Html.RenderPartial(....);}

     @Html.Action 对应 @{Html.RenderAction(....);}

 

2、Html.Partial可以直接提供用户控件名作为参数,

    而Html.Action需要有对应的Action,在Action内部返回PartailResult(即retun PartialView())。

 

3、对于简单的没有任何逻辑的用户控件,推荐使用Html.Partial;

对于需要设置一些Model的用户控件,推荐使用Html.Action。

当然,有Model数据也是可以使用Html.Partial方法的,可以看方法的重载。

 

4、使用Html.Action有个好处,就是可以根据不同的场景选择不同的用户控件。

比如:@Html.Action("UserInfoControl")在对应的UserInfoControl这个Action中,在用户未登录的时候,

可以retun PartialView("LogOnUserControl");

登录后,可以retun  PartialView("UserInfoControl");