http://blog.csdn.net/pasic/article/details/7072340

Razor的出现,使页面看起更加简洁,Razor的页面后缀为:.cshtml
Razor基础语法:
1、代码注释:
      多行注释: @*注释信息*@
     单行注释: // 注释

1、代码体{...}

[html] view plaincopy

  1. @{  var x=100; 
  2. var y=100; 
  3. string str="this is string"; 
  4. }

在代码体中,没一行都需要用";"结束,代码区中,字母区分大小写。字符类型常量必须用""括起来,
2、 由于asp.net引擎会检解析查每个已@开头的代码,除非@前包括非空白字符;如:<div>test@razor</div> 
这样输出的信息还是test@razor,这不会进行解析,页面输出@符合,可以用HTML中的ASCII编码&#64。

3、 在Razor中使用局部变量,进行上下文调用:

[html] view plaincopy

  1. @{ 
  2. var message="现在时间为:"; 
  3. var time=DateTime.Now; 
  4. var outMessage=message+time; 
  5. } 
  6. <div>@outMessage </div>

页面输出为:现在时间为:2011/12/14 20:26:13;

4、字符拼接输出

[html] view plaincopy

  1. @{var cout=100;} 
  2. <p>这是第 @count 个进球 </p>

页面输出:这是第 100 个进球
如果页面要输出:这是第100个进球
则调用方式则为:<p>这是第@{@count}个进球</p>,
如果直接用<p>这是第@count个进球</p>,页面将会直接输出:这是第@count个进球
如果输出的是变量的方法名:
<p>这是第@count.ToString()个进球</p>,则可以不用@{}标志
5、 在@{...}代码体中输出文字,需要用到@:,如下所示:

[html] view plaincopy

  1. @{ 
  2. var name="张三"; 
  3. @:你好: 
  4. @:@name         
  5. }

页面输出:你好:张三

6、 逻辑代码处理

[html] view plaincopy

  1. @{ 
  2. if(true) 
  3. { 
  4. // do something; 
  5. } 
  6. else 
  7. { 
  8. // do something; 
  9. } 
  10. }

7、 在@{...}代码体内部使用html标记

[html] view plaincopy

  1. @{ 
  2. <div>this is <span>test</span></div>
  3. }

页面输出:this is test
要进行多行输出时可用:

[html] view plaincopy

  1. @{ 
  2. <text>
  3. this first, 
  4. this secend   
  5. </text>
  6. }

页面输出:this first, this secend 
8、 在@{...}内部使用注释

[html] view plaincopy

  1. @{ 
  2. // 单行注释 
  3. var mesage = "Now Time:"; 
  4. @*  
  5. 当前时间 
  6. 输出当前时间 
  7. *@  
  8. /* 
  9. *  使用C#中的 
  10. *  注释 
  11. */ 
  12. var time = DateTime.Now; 
  13. <!-- HTML注释-->
  14. var outMessage = mesage + time; 
  15. }

9、 数据类型转换

[html] view plaincopy

  1. AsInt(), IsInt() 
  2. AsBool(),IsBool() 
  3. AsFloat(),IsFloat() 
  4. AsDecimal(),IsDecimal() 
  5. AsDateTime(),IsDateTime() 
  6. ToString() 
  7. @{ 
  8. var count = "100"; 
  9. } 
  10. <p>count:@count.AsInt()</p>
  11. 输出:count:100 
  12. <p>@count.IsInt()</p>
  13. 输出:True 
  14. 如果 
  15. @{ 
  16. var count = "test"; 
  17. } 
  18. <p>count:@count.AsInt()</p>
  19. 输出:count:0 
  20. <p>@count.IsInt()</p>
  21. 输出:False

即:AsInt() 如果转换不成功直接为0,IsInt返回Bool值,其他类似
10、循环使用

[html] view plaincopy

  1. @{ 
  2. /* for循环使用 */ 
  3. for(int k=1;k<5;k++) 
  4. { 
  5. @:第 @k 个; 
  6. } 
  7. @*页面输出:第 1 个; 第 2 个; 第 3 个; 第 4 个; *@ 
  8. // foreach 使用 
  9. var list =new List<string> { "one", "two", "three", "four" }; 
  10. foreach(var str in list) 
  11. { 
  12. @:@str; 
  13. } 
  14. @*页面输出:one; two; three; four; *@ 
  15. var flag=1; 
  16. while(flag<5) 
  17. {  
  18. @:第@{@flag}个;  
  19. flag++; 
  20. } 
  21. @*页面输出:第1个; 第2个; 第3个; 第4个; *@ 
  22. }

Razor基础语法简介的更多相关文章

  1. Razor基础语法

    原文:Razor基础语法 一.介绍      Razor是ASP.NET MVC视图引擎的代号,支持.cshtml和.vbhtml两种模板文件,符号@标记服务端代码的开始,比以前asp.net的< ...

  2. Java笔记 - 基础语法简介

    一.Java语言简介 JAVA是一种面向对象的程序设计语言,为不同级别的开发划分为J2SE.J2EE(Java Web).J2WE三种平台,可以进行桌面应用编程.WEB客户端编程.WEB服务器编程.手 ...

  3. Blazor 003 : Razor的基础语法

    上文,我们通过剖析一个最简单的 Blazor WASM 项目,讲明白了 Razor 文件是什么,以及它被转译成 C#后长什么样子.也介绍了 Razor 中最简单的一个语法:Razor Expressi ...

  4. ASP.NET MVC3 系列教程 - Razor视图引擎基础语法

    http://www.cnblogs.com/highend/archive/2011/04/09/aspnet_mvc3_razor_engine.html 4. 关于所有带"_" ...

  5. Razor视图引擎基础语法

    在VS2010中新建一个MVC3项目可以看出与以往的MVC2发生了很明显的变化 1.ASP.NET MVC3必要的运行环境为.NET 4.0 (想在3.5用MVC3,没门!) 2.默认MVC3模板项目 ...

  6. ASP.NET MVC3 Razor视图引擎-基础语法

    I:ASP.NET MVC3在Visual Studio 2010中的变化 在VS2010中新建一个MVC3项目可以看出与以往的MVC2发生了很明显的变化. 1.ASP.NET MVC3必要的运行环境 ...

  7. .Net MVC4笔记之Razor视图引擎的基础语法

    Razor视图引擎的基础语法: 1.“_”开头的cshtml文档将不能在服务器上访问,和asp.net中的config文档差不多. 2.Razor语法以@开头,以@{}进行包裹. 3.语法使用: 注释 ...

  8. Markdown 简介及基础语法

    一.Markdown 简介 Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式. 二.Markdown 基础语法 1. Markdown ...

  9. ASP.Net MVC(3) 之Razor视图引擎的基础语法

    Razor视图引擎的基础语法: 1.“_”开头的cshtml文档将不能在服务器上访问,和asp.net中的config文档差不多. 2.Razor语法以@开头,以@{}进行包裹. 3.语法使用: 注释 ...

随机推荐

  1. MFC编程入门之十三(对话框:属性页对话框及相关类的介绍)

    前面讲了模态对话框和非模态对话框,本节来将一种特殊的对话框--属性页对话框. 属性页对话框的分类 属性页对话框想必大家并不陌生,XP系统中桌面右键点属性,弹出的就是属性页对话框,它通过标签切换各个页面 ...

  2. Asp.Net_网站性能

    1.如果不想被微软包围(其实微软的一套并不贵,是被谣言传高了),数据层依然可以选择SQL Server数据库和存储过程. 2.缓存不再依赖.net自身提供的缓存机制,迁移到部署在Linux平台上的分布 ...

  3. 使用Python创建简单的HTTP和FTP服务

    不管工作中还是其他场合,经常会有文件分享的需求,比如自己下了一个4GB的游戏,同事下了一个800MB的软件,其他人如果也需要这些文件,显然直接分享是最快捷.最方便.最环保的方式了,如果再重新下,既浪费 ...

  4. 浅谈 js字符串 trim 方法之正则篇

    关于 trim 其实没啥好说的,无非就是去除首位空格,对于现代浏览器来说只是简单的正则 /^\s+|\s+$/ 就可以搞定了.而且支持中文空格   等等.什么 \s 支持 中文空格?是的. 打开 Re ...

  5. 基于双向链表的增删改查和排序(C++实现)

    双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱.所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点.一般我们都构造双向循环链表 ...

  6. BZOJ1778 [Usaco2010 Hol]Dotp 驱逐猪猡

    首先我们列出转移矩阵$M$,$M_{i, j} = \frac {1 - \frac{p} {q}} {deg[i]}$(i,j之间有边)or $M_{i, j} = 0$(i,j之间没边) 则这个矩 ...

  7. qml 封装技巧-利用数据来进行适配

    Text属于用的频率比较高而且需要定义的地方又比较多的地方,看一下如下的把Text封装成Label进行使用. 使用的例子: Label { id: titleLabel anchors { left: ...

  8. iOS开发UI篇—Quartz2D使用(图片剪切)

    iOS开发UI篇—Quartz2D使用(图片剪切) 一.使用Quartz2D完成图片剪切 1.把图片显示在自定义的view中 先把图片绘制到view上.按照原始大小,把图片绘制到一个点上. 代码: - ...

  9. iOS开发Swift篇—(七)函数(1)

    iOS开发Swift篇—(七)函数 一.函数的定义 (1)函数的定义格式 func 函数名(形参列表) -> 返回值类型 { // 函数体... } (2)形参列表的格式 形参名1: 形参类型1 ...

  10. numtoyminterval函数——数字转换函数

      numtoyminterval函数——数字转换函数 ----转至51CTO 水滴的博客  语法:NUMTOYMINTERVAL ( n , 'char_expr' )              c ...