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的响应,最常见的做法返回一个视图

 

你可能感兴趣的:(asp.net)