• Razor基础语法简介


    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"; 

    在代码体中,没一行都需要用";"结束,代码区中,字母区分大小写。字符类型常量必须用""括起来,
    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         

    页面输出:你好:张三

    6、 逻辑代码处理

    [html] view plaincopy

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

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

    [html] view plaincopy

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

    页面输出: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; 

    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. <p>count:@count.AsInt()</p>
    18. 输出:count:0 
    19. <p>@count.IsInt()</p>
    20. 输出: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个; *@ 
  • 相关阅读:
    366. Find Leaves of Binary Tree
    369. Plus One Linked List
    370. Range Addition
    411. Minimum Unique Word Abbreviation
    379. Design Phone Directory
    Permutation
    leetcode216-Combination Sum III
    百度star编程赛-练习1
    腾讯暑期实习生面试题
    素数筛选
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/4972241.html
Copyright © 2020-2023  润新知