1、_LayOut.cshtml 文件为mvc的布局文件,里面包函的是htm的静态文件,作为mvc其他view的基础母版使用,子视图要不想想调用它只需在页面设置@{Layout=null;}即可,现对于里面的一些语法进行说明:

  @RenderBody()对于所有的页面默认的情况下都会使用这个布局(WebForm的模板),在页面只能调用一次,子view可以与其共享资源如js、css等;

  @RenderPage("url")相当于一个占位符其页面的所有内容都会被引擎渲染在这个地方。比如网页中固定的头部可以单独放在一个共享的视图文件中,然后在布局页面中通过这个方法调用,用法如下:@RenderPage("~/Views/Shared/_Header.cshtml")

    @RenderSecion("scripts",required:true|false)这个占位符表示:在这里会渲染页面里面的一个节(可以是html代码也可以是c#代码和Html的结合体)。参数url代表的是在子页面被渲染的节的名称,required代表的是声明这个节点是否在子页面中必须出现,如果设为true而子页面中不包含此节点则编译报错。如果我们想在母版页使用默认的节可以做如下的判断:

@if(IsSectionDefined("sectionName"))

{

@RenderSection("sectionName")

}  else   {

<span>默认节</span>

}

假如子页面有这个节我们就渲染子页面的,没有的话就显示我们默认的Html块(例如:网站的头部,底部,侧边栏等等)。

基本语法

@using :引入命名空间

  1. @model:声明强类型的数据Model类型
  2. @section:定义要实现母版页的节信息
  3. @RenderBody():当创建基于此布局页面的视图时,视图的内容会和布局页面合并,而新创建视图的内容会通过布局页面的@RenderBody()方法呈现在标签之间。
  4. @RenderPage:呈现一个页面。比如网页中固定的头部可以单独放在一个共享的视图文件中,然后在布局页面中通过这个方法调用,用法如下:
  5. @RenderPage("~/Views/Shared/_Header.cshtml")
  6. @RenderSection:布局页面还有节(Section)的概念,便于局部呈现

代码块:

@{ 代码块 }

@if (条件) { 代码块 }

@switch (条件) { 分支匹配代码块 }

@for (循环控制) { 代码块 }

@foreach (循环控制) { 代码块 }

@while (循环控制) { 代码块 }

@do { 代码块 } while (循环控制) 『 代码块里面的代码要严格按照c#语法来,每行结束必需有分号』

引用外部文件

  1. @Scripts.Render("url") ;
  2. @Styles.Render("url");

  在Razor引擎下面需要让自己的类拥有智能提示功能的话,只需将自己类的命名空间加入view/webconfig 的 <pages><namespaces>节点下即可。

在mvc4.0中使用URLHelper和HTMLHelper 感觉很实用,比如 使用@Html.Actions("ViewName","ControllerName",new {params});比传统拼接url更方便,避免了相对路径计算错误的情况;

MVC4相关Razor语法浅谈的更多相关文章

  1. MVC4相关Razor语法以及Form表单

    Razor的布局(Layout) 默认建的工程都自带的了一个_ViewStart.cshtml文件,文件里面的代码如下: @{ Layout = "~/Views/Shared/_Layou ...

  2. MVC4相关Razor语法以及Form表单(转载)

    Razor的布局(Layout) 默认建的工程都自带的了一个_ViewStart.cshtml文件,文件里面的代码如下: @{ Layout = "~/Views/Shared/_Layou ...

  3. 浅谈RSA加密算法

    一.什么是非对称加密 1.加密的密钥与加密的密钥不相同,这样的加密算法称之为非对称加密 2.密钥分为:公钥,私钥  公钥:可以对外给任何人的加密和解密的密码,是公开的 私钥:通过私钥可以生成公钥,但从 ...

  4. 浅谈DES加密算法

    一.DES加密算法介绍 1.要求密钥必须是8个字节,即64bit长度 2.因为密钥是byte[8] , 代表字符串也可以是非可见的字节,可以与Base64编码算法一起使用 3.加密.解密都需要通过字节 ...

  5. 浅谈URLEncoder编码算法

    一.为什么要用URLEncoder 客户端在进行网页请求的时候,网址中可能会包含非ASCII码形式的内容,比如中文. 而直接把中文放到网址中请求是不允许的,所以需要用URLEncoder编码地址, 将 ...

  6. 浅谈Hex编码算法

    一.什么是Hex 将每一个字节表示的十六进制表示的内容,用字符串来显示. 二.作用 将不可见的,复杂的字节数组数据,转换为可显示的字符串数据 类似于Base64编码算法 区别:Base64将三个字节转 ...

  7. 浅谈Base64编码算法

    一.什么是编码解码 编码:利用特定的算法,对原始内容进行处理,生成运算后的内容,形成另一种数据的表现形式,可以根据算法,再还原回来,这种操作称之为编码. 解码:利用编码使用的算法的逆运算,对经过编码的 ...

  8. 浅谈 kubernetes service 那些事(上篇)

    一.问题 首先,我们思考这样一个问题: 访问k8s集群中的pod, 客户端需要知道pod地址,需要感知pod的状态.那如何获取各个pod的地址?若某一node上的pod故障,客户端如何感知? 二.k8 ...

  9. 浅谈 kubernetes service 那些事 (下篇)

    欢迎访问网易云社区,了解更多网易技术产品运营经验. 五.K8s 1.8 新特性--ipvs ipvs与iptables的性能差异 随着服务的数量增长,IPTables 规则则会成倍增长,这样带来的问题 ...

随机推荐

  1. 使用Linux碎解三_CentOS7搭建Lamp环境安装zabbix遇到的问题

    问题一:  执行不了 yum命令 解决方案:配置系统的DNS(详细参见碎解二) 问题二:  make 命令的时候,出现错误 提示 和没有gcc大体相关 解决方案:yum install gcc (在网 ...

  2. PPTP VPN 限制一个账号只允许一个用户来登录

    创建auth-up文件 vi /etc/ppp/auth-up chmod a+x /etc/ppp/auth-up auth-up脚本内容如下 #!/bin/sh # get the usernam ...

  3. Spring+springmvc+Mybatis整合案例 annotation版(myeclipse)详细版

    Spring+springmvc+Mybatis整合案例 Version:annotation版 文档结构图: 从底层开始做起: 01.配置web.xml文件 <?xml version=&qu ...

  4. XSS的原理分析与解剖(转)

    (转)http://netsecurity.51cto.com/art/201408/448305_all.htm 0×01 前言: <xss攻击手法>一开始在互联网上资料并不多(都是现成 ...

  5. 使用HttpClient 发送get、post请求,及其解析xml返回数据

    一.关于HttpClient的使用: 可以参考这个博客地址,这里有详细的介绍,需要的可以先看一下: 地址是:http://blog.csdn.net/wangpeng047/article/detai ...

  6. ajax省市区三级联动

    jdbc+servlet+ajax开发省市区三级联动 技术点:jdbc操作数据库,ajax提交,字符拦截器,三级联动 特点:局部刷新达到省市区三级联动,举一反三可以做商品分类等 宗旨:从实战中学习 博 ...

  7. 连做两场goodbye2016是怎样的体验.....

    挖个坑  ..... 听q巨随机化A题和最后的splay/set   还有另外一位神犇的最大回文子矩阵.... 感觉真的好爽啊,神犇能把很难的题目转化为简单的模型----- ///跨年打码是怎样一种体 ...

  8. 通过js获得html标签的值

    js获取html元素的值并赋值 1).input文本框 <input type="text" value="时间" placeholder="姓 ...

  9. 有1,2,3一直到n的无序数组,排序

    题目:有1,2,3,..n 的无序整数数组,求排序算法.要求时间复杂度 O(n), 空间复杂度O(1). 分析:对于一般数组的排序显然 O(n) 是无法完成的. 既然题目这样要求,肯定原先的数组有一定 ...

  10. Web工作原理

    第一步:寻找域名服务器,将域名(www.nice.com)的主机解析成服务器的ip的地址. 第二步:使用http协议连接Apache网页服务器,请求到服务器对应的目录下的文件,例如:index.php ...