Asp.Net MVC3.0 Partial RenderPartial Action RenderAction 区别和用法

时间:2024-01-16 22:53:56

本人写的博文不多,专业知识不强,以下纯属于个人笔记。如有不对,还请各路大拿,拍砖指导,谢谢!

区别:

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();
}