aspについてnet MVC3 [email protected],@Html.Action,@Html.RenderPartial,@Html.RenderAction

2974 ワード

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");

@RenderBody()

   , , , @RenderBody() 。
, 。
2、@RenderPage

  
。 , , :
@RenderPage(“~/Views/Shared/_Header.cshtml”)  

@RenderPage(“~/Views/Shared/_Header.cshtml”,new{parm="my",parm2="you")  

// RenderPage()
@PageData["param"]
3、 @RenderSection

  
(Section) , , , , :
@RenderPage(“~/Views/Shared/_Header.cshtml”)  
@RenderBody()  //
@RenderSection(“head”)
, :
@section head{  
//do
}
, RenderSection() 2 :
@RenderSection("SubMenu", false)

@if (IsSectionDefined("SubMenu"))
{
@RenderSection("SubMenu", false)
}
else
{
SubMenu Section is not defined!

}
4、@Html.Partial

  
Partial TextWriter . writer MvcString
@{ Html.RenderPartial("Details"); } @Html.Partial
RenderPage() RenderPartial()
  RenderPage() 。
RenderPartial() viewdata,model 。
Html.RenderPartial Html.RenderAction
Html.RenderPartial UserControl, Model , UserControl 。 Html.RenderAction Controller Action , UserControl ( Action ), 。
5、@Html.Partial( "MyView" ) VS  @Html.RenderPartial

    : Partial    
    :  
   5.1、 Partial (MvcHtmlString);RenderPartial (Void)。  
5.2、
5.3、Partial ,RenderPartial HttpContext。 ,
  • @{ Html.RenderPartial("_NavMenu"); } @Html.Partial("_NavMenu");