Asp.net MVC4高级编程学习笔记-视图学习第三课Razor页面布局20171010

时间:2022-10-20 07:43:46

Razor页面布局

1)  在布局模板页中使用@RenderBody标记来渲染主要内容。比如很多web页面说头部和尾部相同,中间内容部分使用@RenderBody来显示不同的页面内容。

2)  在布局模板页中使用@RenderSection(“SectionName”)来渲染SectionName的节点内容。

定义一个节点 Example:

@section SectionName{
This is the <strong>Foot page</strong>.
}

  

默认情况下每个页面需要为布局提供相应的节点定义。这里有另外一个重载方法可以使页面可选实现这个节点。

Example:

<foot>@RenderSection(“Foot”,required,false)</foot>

  

还有一种做法是没有定义相应的section可以使用默认输出内容。

Example:

@if(IsSectionDefined(“Foot”))
{
RenderSection(“Foot”);
}
else
{
  <span>This is the default foot.</span>
}

  

注意:模板委托更好的实现该方法,后续会学习到。

3)  _ViewStart.cshtml用于指定一个默认的布局,适用于多套模板时随意切换布局。如果某个视图需要自定义布局,可以重写Layout值来改变布局方式。

以下是_ViewStart.cshtml文件中指定默认布局页的示例代码:

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

  

2)       指定部分视图。

Example:

public ActionResult Message()
{
ViewBag.Message = "This is a partial view";
return PartialView();
}

这里需要注意如果Message.cshtml的默认布局由ViewStart指定的话,这里将不会渲染布局页面,除非在Message.cshtml中指定layout布局才可以渲染相应的布局页面。

4)  使用Ajax更新分部视图。

在A视图中加载B视图(message视图),A视图代码Example:

<div id="result">测试消息</div> 

@section scripts
{
  <script type="text/javascript">
   $(function () {
   $("#result").load("/home/message");
   });
  </script>
}

视图部分基础知识学习就此告一段落了,以后还需要在项目中灵活运用。接下来后续会学习模型-Model。

Asp.net MVC4高级编程学习笔记-视图学习第三课Razor页面布局20171010的更多相关文章

  1. Asp&period;net MVC4高级编程学习笔记-视图学习第一课20171009

    首先解释下:本文只是对Asp.net MVC4高级编程这本书学习记录的学习笔记,书本内容感觉挺简单的,但学习容易忘记,因此在边看的同时边作下了笔记,可能其它朋友看的话没有情境和逻辑顺序还请谅解! 一. ...

  2. Asp&period;net MVC4高级编程学习笔记-模型学习第四课基架与模型绑定20171027

    MVC模型 一.构建基架. MVC中的基架可以为应用程序提供CURD各种功能生成所需要的样板代码.在添加控制器的时候可以选择相应的模板以及实体对象来生成相应的模板代码. 首先定义一个模型类如下所示: ...

  3. Asp&period;net MVC4高级编程学习笔记-模型学习第五课MVC表单和HTML辅助方法20171101

    MVC表单和HTML辅助方法 一.表单的使用. 表单中的action与method特性.Action表示表单要提交往那里,因此这里就有一个URL.这个URL可以是相对或绝对地址.表单默认的method ...

  4. &lbrack;ASP&period;NET MVC4高级编程&rsqb; 学习记录&lpar;一&rpar;

    理论: 先有GUI在发展,当用户按下某个键,某个进程会监听到这个动作,这个进程就是控制器.这就是MVC模式. 后来有了事件驱动编程,响应动作的是按钮本身,而不是控制器. 再后来webForm中,事件驱 ...

  5. 【Android开发学习笔记】【第三课】Activity和Intent

    首先来看一个Activity当中启动另一个Activity,直接上代码说吧: (1)首先要多个Activity,那么首先在res-layout下新建一个 Other.xml,用来充当第二个Activi ...

  6. 【Android开发学习笔记】【第八课】五大布局-下

    概念 五大布局上一篇文章已经介绍了 LinearLayout RelativeLayout 这一篇我们介绍剩下的三种布局 FrameLayout 五种布局中最佳单的一种布局.在这个布局在整个界面被当成 ...

  7. 【Android开发学习笔记】【第七课】五大布局-上

    概念 Android程序各式各样,依靠的就是布局,先来看看布局都是怎么来的: 白色部分就是我们经常用的几种布局,主要说说介绍下面五大布局 FrameLayout AbsoluteLayout Line ...

  8. ASP&period;NET MVC5 高级编程 第3章 视图

    参考资料<ASP.NET MVC5 高级编程>第5版 第3章 视图 3.1 视图的作用 视图的职责是向用户提供界面. 不像基于文件的框架,ASP.NET Web Forms 和PHP ,视 ...

  9. ASP&period;NET MVC5 高级编程 第5章 表单和HTML辅助方法

    参考资料<ASP.NET MVC5 高级编程>第5版 第5章 表单和HTML辅助方法 5.1 表单的使用 5.1.1 action 和 method 特性 默认情况下,表单发送的是 HTT ...

随机推荐

  1. springmvc2 一个控制器写多个方法(非注解方式)

    出处:http://blog.csdn.net/xuewenke/article/details/23895999 springmvc2 一个控制器写多个方法(非注解方式) 分类: spring 20 ...

  2. C&num; 抽象类abstract

    不能初始化的类被叫做抽象类,它们只提供部分实现,但是另一个类可以继承它并且能创建它们的实例,有未被实现的方法.抽象类不可以new对象. "一个包含一个或多个纯虚函数的类叫抽象类,抽象类不能被 ...

  3. iis 不能访问json文件

    我从网上查的资料,解决方案都是设置MIME 映射和“处理脚本映射”. 我按照网上的解决方案执行之后还没有解决我的这个问题,所以我想会不会是其他的原因. 在那么一瞬间,灵光一闪,我把json文件放到新建 ...

  4. Gvim一些基本配置

    介绍一些关于Gvim(windows 7 32位 Vim 7.4)的基本配置,除了特别说明,代码一律添加在安装目录下的_vimrc文件中. 1.取消自动备份,这行代码需要添加在 _vimrc文件中的b ...

  5. pycharm活动模板

    1.复制模板内容 2.文件设置: 点击+号:

  6. zabbix系列 ~ 报警模式

    一 简介:聊聊zabbix的报警方式二 报警方式 邮件,短信,钉钉,微信三 准备    需要预选准备好对应报警方式的脚本四 web端设置  1 设置报警方式 2 设置报警触发器    1 选择报警信息 ...

  7. 数据驱动测试之——CSV&plus;TestNG

    对于利用Webdriver做自动化的童鞋,对于如何将元素或者输入数据如何和编码分离都应该不会太陌生,本着一边学习一边分享的心态,大概总结了一下关于利用CSV.XML以及Excel来存放数据,然后在结合 ...

  8. ASP&period;NET MVC5&plus;EF6&plus;LayUI实战教程,通用后台管理系统框架(5)- 创建项目结构

    前言 关于理论知识,我的表达能力有限,知识水平有限,就不过多的讲解编程工作中的专用术语了,大家写的代码多了,自然就懂了 前几节课,我们看到了后台的主页面,以及一个自认为比较漂亮的登录界面,算是编程套路 ...

  9. 在makefile中打印错误或警告信息

    在makefile中打印警告或者错误消息的方法: $(warning xxxxx) 或者 $(error xxxxx) 输出变量方式为: $(warning $(XXX))

  10. Oracle常见死锁发生的原因以及解决方法

    Oracle常见死锁发生的原因以及解决办法 一,删除和更新之间引起的死锁 造成死锁的原因就是多个线程或进程对同一个资源的争抢或相互依赖.这里列举一个对同一个资源的争抢造成死锁的实例. Oracle 1 ...