ASP.NET MVC 中Html.RenderPartial,Html.RenderAction,Html.Partial的区别?

Html.RenderPartial是直接将用户控件嵌入到界面上:

<%Html.RenderPartial("LogOnUserControl");%>

<%Html.RenderPartial("~/Areas/Comm/Views/Shared/LogOnUserControl.ascx");%>

注意:用这种方法时,用户控件必须放在调用者同一目录下,也可以放在View/Shared中。

Html.RenderAction则通过Controller中的Action来调用用户控件

Controller:----用户控件所在Controller

public ActionResult UserControl()

{

return PartialView();

}

View:----调用用户控件的View

<%Html.RenderAction("UserControl", new {id = Request.QueryString["id"]});%>

Html.Partial是将视图内容直接生成一个字符串并返回

<%=Html.Partial("MyPartialView",Model)%>

Controller层:

return PartialView("ProductListMode", model); //返回用户控件,局部视图

return View(model); //Action的响应,最常见的做法返回一个视图