ASP.NET MVC3 局部页面@RENDERBODY @RENDERPAGE@RENDERSECTION使用方法详细说明
转载自:http://blog.163.com/wenchangqing_live/blog/static/173722309201211299817278/
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结束
ASP.NET MVC3 局部页面@RENDERBODY @RENDERPAGE@RENDERSECTION使用方法详细说明的更多相关文章
- asp.net获取当前页面文件名,参数,域名等方法。统一session验证和权限验证的方法
转:http://blog.csdn.net/llll29550242/article/details/6054323 ASP.net后台获取当前页面的文件名 System.IO.Path.GetFi ...
- ASP.NET中实现页面间数据传递的方法
说到页面间数据传递,很多人都会想到通过像Session这样的全局变量,但是向Session中添加的东西太多会增加服务器的压力,页面间数据传递,数据的作用范围越小越好. ASP.NET页面间数据传递 ...
- MVC View显示详解(RenderBody,RenderPage,RenderSection,Partial)
一.Views文件夹 -> Shared文件夹下的 _Layout.cshtml 母版页 @RenderBody 当创建基于_Layout.cshtml布局页面的视图时,视图的内容会和布局页面合 ...
- ASP.NET MVC3系列页面缓存、缓存依赖SQL(真实项目注意细节)
缓存依赖数据库 第一步 1通过vs里面带的命令提示窗口. 2或者.NET Framework 版本 4(64 位系统)条件,%windir%\Microsoft.NET\Framework64\v4. ...
- ASP.NET MVC3在页面上获取当前控制器名称、Action名称以及路由参数
参考:http://ulfqbpl.blog.163.com/blog/static/87783552201272824843607/ 获取控制器名称: RouteData.Values[" ...
- ASP.NET多种不同页面间数据传递的方法
1. Get(即使用QueryString显式传递) 方式:在url后面跟参数. 特点:简单.方便. 缺点:字符串长度最长为255个字符:数据泄漏在url中. 适用数据 ...
- ASP.NET MVC3 通过Url传多个参数方法
MVC3通过URL传值,一般情况下都会遇到 [从客户端(&)中检测到有潜在危险的 Request.Path 值]的问题 这个问题的解决方法,我的其他博文已经有了说明,这里给出连接 ; [从客户 ...
- 【ASP.NET】@RenderBody,@RenderPage,@RenderSection的使用
@RenderBody @RenderBody是布局页(_Layout.cshtml)通过占位符@RenderBody占用独立部分,当创建基于此布局页的试图时,视图的内容会和布局页合并,而新创建的视图 ...
- RenderBody, RenderPage and RenderSection methods in MVC 3
原文地址:http://www.codeproject.com/Articles/383145/RenderBody-RenderPage-and-RenderSection-methods-in R ...
随机推荐
- POJ 1061 青蛙的约会【扩展欧几里德】
设跳的次数为t 根据题意可得以下公式:(x+mt)%L=(y+nt)%L 变形得 (x+mt)-(y+nt)=kL (n-m)t+kL=x-y 令a=(n-m),b=L,c=x-y 得 at+bk=c ...
- java 15 -7 ListIterator 的特有方法
列表迭代器: ListIterator listIterator():List集合特有的迭代器 该迭代器继承了Iterator迭代器,所以,就可以直接使用hasNext()和next()方法. 特有 ...
- relative 和 absolute
relative总是相对于其最近的父层 absolute总是相对于其最近的定义为relative或absolute的父层
- 24Spring_事务管理机制
第一部分:Spring事务管理高层抽象接口 我们介绍三个接口:1.PlatformTransactionManager 2.TransactionDefinition 3.TransactionSt ...
- WPF用ShowDialog()弹出窗体时控制该窗体的显示位置,并传值回父窗体
原文:http://blog.csdn.net/kiss0622/article/details/5852153 方法一: 1.父窗口代码 Window1.xaml.cs private void B ...
- 【转】【WPF】MVVM模式的3种command
1.DelegateCommand 2.RelayCommand 3.AttachbehaviorCommand 因为MVVM模式适合于WPF和SL,所以这3种模式中也有一些小差异,比如RelayCo ...
- Google protocol buffer在windows下的编译
在caffe框架中,使用的数据格式是google的 protocol buffer.对这个不了解,所以,想简单学习一下.简单来说,Protocol Buffer 是一种轻便高效的结构化数据存储格式,可 ...
- Chrome 插件: 起动本地应用 (Native messaging)
Chrome 插件: 起动本地应用 (Native messaging) www.MyException.Cn 网友分享于:2014-08-01 浏览:3次 Chrome 插件: 启动本地应用 ...
- [CareerCup] 6.2 Dominos on Chess Board 棋盘上的多米诺
6.2 There is an 8x8 chess board in which two diagonally opposite corners have been cut off. You are ...
- Opencv step by step - 鼠标事件
鼠标事件有下面几种(没有滚轮事件,比较遗憾): #define CV_EVENT_MOUSEMOVE 0 滑动 #define CV_EVENT_LBUTTONDOWN 1 左键点击 #define ...