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. <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. // do something; 
  4. else 
  5. // do something; 
  6. }

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. <p>count:@count.AsInt()</p>
  10. 输出:count:100 
  11. <p>@count.IsInt()</p>
  12. 输出:True 
  13. 如果 
  14. @{ 
  15. var count = "test"; 
  16. <p>count:@count.AsInt()</p>
  17. 输出:count:0 
  18. <p>@count.IsInt()</p>
  19. 输出:False

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

[html] view plaincopy

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

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. Android 控件知识点

    一.引入布局 在xml文件中引入另一个布局 <include layout="@layout/XXX" /> 个人理解就是在父布局的某个位置在嵌套一个布局. 二.自定义 ...

  2. 当 IDENTITY_INSERT 设置为 OFF 时,不能为表‘XXX’中的标识列插入显式值。

    在创建事务复制时,很多时候不一定使用快照进行初始化,而是使用备份还原初始化.当对有标识列(即identity的自增列)的表进行复制的时候,使用备份还原初始化搭建起来的复制常常就会报错,即:当 IDEN ...

  3. [分享] 从定制Win7母盘到封装详细教程 By BILL ( 10月23日补充说明 )

    [分享] 从定制Win7母盘到封装详细教程 By BILL ( 10月23日补充说明 ) billcheung 发表于 2011-10-23 00:07:49 https://www.itsk.com ...

  4. webwork

    代码结构,html页面引入两个js文件,work.js和main.js work.js (function () { onmessage = function (e) { var num = e.da ...

  5. break和continue的区别

    break是结束整个循环体,continue是结束单次循环

  6. PHP 时间 date,strtotime ,time计算1970开始的第几天

    首先,需要看你的php时区配置参数 方式1:更改php配置文件,然后从其fast-cgi或者php调用的地方: 方式2:date_default_timezone_set('PRC'); date函数 ...

  7. jedis,spring-redis-data 整合使用,版本问题异常以及解决。

    最近整合使用redis spring-redis 出现了一下问题 spring:3.2.4.RELEASE jedis: jedis  2.4.2 spring-data-redis: 1.5.2.R ...

  8. WCF初探-20:WCF错误协定

    WCF错误协定概述 在所有托管应用程序中,处理错误由 Exception 对象表示. 在基于 SOAP 的应用程序(如 WCF 应用程序)中,服务方法使用 SOAP 错误消息来传递处理错误信息. SO ...

  9. 全真模拟 (1) day1

    第一题: 题目大意: 给出N个数的m对关系(a,b)表示a大于b. 每个数至少为100,求这些书最小可能的和. 解题过程: 1.看到这题就想到之前USACO的一道题,那题是N头牛排序,然后给出m对关系 ...

  10. WP8.1 Study17:网络之后台下载/上传及HttpClient

    一.后台下载/上传 1.简介 使用BackgroundTransferGroup可以十分方便操作上传及下载文件,BackgroundDownloader和BackgroundUploader类中的方法 ...