MVC4相关Razor语法浅谈

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更方便,避免了相对路径计算错误的情况;

时间: 2024-07-29 11:29:29

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

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

Razor的布局(Layout) 默认建的工程都自带的了一个_ViewStart.cshtml文件,文件里面的代码如下: [csharp] view plaincopy @{ Layout = "~/Views/Shared/_Layout.cshtml";} 这里的  @{Layout="文件路径";}  代码块指定了整个项目默认所使用的布局文件(如图:) 左边蓝色部分显示了MVC4提供的默认的布局文件,我们看看_Layout.cshtml里面的内容: 不难看出,

MVC4相关Razor语法以及Form表单

Razor的布局(Layout) 默认建的工程都自带的了一个_ViewStart.cshtml文件,文件里面的代码如下: [csharp] view plain copy @{ Layout = "~/Views/Shared/_Layout.cshtml";} 这里的  @{Layout="文件路径";}  代码块指定了整个项目默认所使用的布局文件(如图:) 左边蓝色部分显示了MVC4提供的默认的布局文件,我们看看_Layout.cshtml里面的内容: 不难看出

浅谈DES加密算法

一.DES加密算法介绍 1.要求密钥必须是8个字节,即64bit长度 2.因为密钥是byte[8] , 代表字符串也可以是非可见的字节,可以与Base64编码算法一起使用 3.加密.解密都需要通过字节数组作为数据和密钥进行处理 二.对称加密 DES加密算法属于对称加密. 即利用指定的密钥,按照密码的长度截取数据,分成数据块,和密钥进行复杂的移位.算数运算或者数据处理等操作,形成只有特定的密码才能够解开的数据. 加密与解密用的是同一个密钥 三.相关类 1.Cipher: Java/Android要

浅谈RSA加密算法

一.什么是非对称加密 1.加密的密钥与加密的密钥不相同,这样的加密算法称之为非对称加密 2.密钥分为:公钥,私钥  公钥:可以对外给任何人的加密和解密的密码,是公开的 私钥:通过私钥可以生成公钥,但从公钥被认为无法生成公钥(被推导出的概率小到不考虑) 3.当将要加密的内容用公钥加密的时候,只能用私钥来解密 当将要加密的内容用私钥加密的时候,只能用公钥来解密 4.公钥与私钥的关系,利用一个简单的公式来生成公钥和私钥,即非对称加密的公钥和私钥之间存在某一个公式关系 5.常见的非对称加密算法 RSA,

浅谈 kubernetes service 那些事(上篇)

欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.问题 首先,我们思考这样一个问题: 访问k8s集群中的pod, 客户端需要知道pod地址,需要感知pod的状态.那如何获取各个pod的地址?若某一node上的pod故障,客户端如何感知? 二.k8s service 什么是service 是发现后端pod服务: 是为一组具有相同功能的容器应用提供一个统一的入口地址: 是将请求进行负载分发到后端的各个容器应用上的控制器. 对service的访问来源 访问service的请求来源有两种:k8s集

浅谈MVC Razor基本语法

Razor语法是在MVC3.0引入的全新的c#语法,取而代之<%...%>语法.用在mvc的view页面. 首先谈一下razor语法的基本用法: 1.如果在页面输出单一变量时,只要在c#语句之前加上@符号即可,范例如下: <p> 现在时刻:@DateTime.Now </p> 2.在页面中输出一段含有空白子元或运算子的结果时,必须在前后加上一个小括弧,范例如下: <p> 会员名称:@(User.Identity.Name+Model.MemberLevel)

2014-07-29 浅谈MVC框架中Razor与ASPX视图引擎

今天是在吾索实习的第15天.随着准备工作的完善,我们小组将逐步开始手机端BBS的开发,而且我们将计划使用MVC框架进行该系统的开发.虽然我们对MVC框架并不是非常熟悉,或许这会降低我们开发该系统的效率,但是我们可以通过边学边做的方式来实现其开发的.这不仅便于我们日后对系统的管理与维护,而且还给我们带来一个学习的动力与实践的地方. 但我们在创建一个基于MVC框架的项目时,就遇到一些问题了.那就是MVC的视图引擎是有两种的,一种是Razor,会以cshtml后缀的文件作为视图文件:另一种是ASPX,

浅谈Kotlin(二):基本类型、基本语法、代码风格

浅谈Kotlin(一):简介及Android Studio中配置 通过上面的文章,在Android Studio中我们已经可以进行Kotlin编程了,接下来开始学习Kotlin的基本类型及语法. 一.基本类型 在 Kotlin 中,所有变量的成员方法和属性都是一个对象. 一些类型是内建的,它们的实现是优化过的,但对用户来说它们就像普通的类一样.   注意,第一个字母大写,Kotlin 区分大小写 主要是以下几种字面值常量: --数型: 123 --长整型要加大写 L : 123L --16进制:

浅谈线程池(下):相关试验及注意事项

三个月,整整三个月了,我忽然发现我还有三个月前的一个小系列的文章没有结束,我还欠一个试验!线程池是.NET中的重要组件,几乎所有的异步功能依赖于线程池.之前我们讨论了线程池的作用.独立线程池的存在意义,以及对CLR线程池和IO线程池进行了一定说明.不过这些说明可能有些"抽象",于是我们还是要通过试验来"验证"这些说明.此外,我认为针对某个"猜想"来设计一些试验进行验证是非常重要的能力,如果您这方面的能力略有不足的话,还是尽量加以锻炼并提高吧. C