Asp.Net MVC3.0 Partial RenderPartial Action RenderAction 区别和用法
本人写的博文不多,专业知识不强,以下纯属于个人笔记。如有不对,还请各路大拿,拍砖指导,谢谢!
区别:
1.Partial 与 RenderPartial 两个方法性质基本一样,只是把一个静态用户控件给嵌入进来。
2.Partial 回传一堆html代码,直接写进到页面上@Html.Partial("ViewName");
3.RenderPartial 回传的是void, 而这个方法会在主页面上添加指定的View @{ Html.RenderPartial("ViewName"); }
4.Partial 与 RenderPartial 两个方法性质基本一样,只是把一个静态用户控件给嵌入进来,都没有用到Controller。
5.RenderAction与Action 有点不一样, 会用到Controller 之后再回传一个页面
6.RenderPatial和Partial的数据来自于调用的View页面。而RenderAction和Action会发起一个新的Request到Controller,而RenderPatial不会。
用法:
不在同一控制器引用方法
@Html.Partial("~/Views/Ascx/Head.cshtml") //用户控件路径
@{Html.RenderPartial("~/Views/Ascx/Head.cshtml");}
@Html.Action("Head", "Ascx") //Ascx 控制器名称,Head用户控件名称
@{Html.RenderAction("Head", "Ascx");}
同一控制器引用方法
@Html.Partial("Head") //Head用户控件名称
@{Html.RenderPartial("Head");}
@Html.Action("Head")<br />//Head 方法名称
@{Html.RenderAction("Head");}
RenderPartial与RenderAction都要写在 @{}里边才可以。
public ActionResult Head()
{
ViewBag.Test = "(Home)调用";
return PartialView();
}