您的位置:首页 > 编程语言 > ASP

asp.net mvc3 局部页面@RenderBody @RenderPage@RenderSection使用方法详细说明

2012-12-14 12:08 302 查看
asp.net mvc3局部页面使用方法详细说明:

1.模板页:@RenderBody()占位符

在模板页中加入@RenderBody()占位符,@RenderBody()所站的位置就是需要填充的内容的位置。

如果想要应用模板页,须向内容页加入

@{ Layout = "~/Views/Shared/_LogOnPartial.cshtml"; }

~/Views/Shared/_LogOnPartial.cshtml为模板页位置,也可在配置默认值。

2.局部页面:@RenderPage()

需要调用局部页面的加入

@RenderPage("~/Views/Home/_ViewPage1.cshtml")

~/Views/Home/_ViewPage1.cshtml为局部页面的位置。

传递参数

@RenderPage("~/Views/Home/_ViewPage1.cshtml",new { param = "a", param2 = "b"})

获取参数

@{


// 获取 RenderPage() 传递过来的参数


if (@PageData["param"] == "aa")


{


@:param == "a"


}


if (@PageData["param2"] == "b")


{


@:param == "b"


}


}


也可


@RenderPage("~/Views/Shared/_TipUserControl.cshtml", TempData["Tip"])


// 获取 RenderPage() 传递过来的参数


@{TipModel model1 = PageData[0];}\\任意类型


3.模板页预设区域:@RenderSection(“”)

在模板页中加入@RenderSection(“head”)

使用模板页的页面需加入
@section标记


如:


@section Head{


<
script
type
=
"text/javascript"
>


$(function () {


alert("hello jquery");


});


</
script
>


}


则:使用模板页的页面RenderSection(“head”)位置变成以上。


@RenderSection()还有一个重载方法参数为bool类型如果为true则必须有相应的
@section,如果为false则不必须有。


如果为true则配合IsSectionDefined()使用


@{

if (IsSectionDefined("SectionB"))

{

@RenderSection("SectionB")

}

}

第一个重载方法也要配合IsSectionDefined()使用

demo:

开始渲染Section 声明方式1(推荐):SectionA:<br /> @RenderSection("SectionA", false)
声明方式2:SectionB:<br /> @{ if (IsSectionDefined("SectionB")) { @RenderSection("SectionB") } }
渲染Sction结束
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐