zoukankan      html  css  js  c++  java
  • Razor视图

    Razor基础语法简介

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

    1、代码体{...}

    [html] view plain copy
     @{  var x=100;   
        var y=100;  

       string str="this is string";

     }  

    代码体中,每一行都需要用";"结束,代码区中,字母区分大小写。字符类型常量必须用""括起来,

    2、 由于asp.net引擎会检解析查每个已@开头的代码,除非@前包括非空白字符;如:<div>test@razor</div> 
    这样输出的信息还是test@razor,这不会进行解析,页面输出@符合,可以用HTML中的ASCII编码&#64。

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

    [html] view plain copy

    @{  

    var message="现在时间为:";  

    var time=DateTime.Now;  

    var outMessage=message+time;  

    }  

    <div>@outMessage </div>   

    页面输出为:现在时间为:2011/12/14 20:26:13;  4、字符拼接输出
    [html] view plain copy
     

    @{

    var cout=100;

    }  

    <p>这是第 @count 个进球 </p>  

    页面输出:这是第 100 个进球

    如果页面要输出:这是第100个进球
    则调用方式则为:<p>这是第@{@count}个进球</p>,

    如果直接用<p>这是第@count个进球</p>,页面将会直接输出:这是第@count个进球

    如果输出的是变量的方法名:
    <p>这是第@count.ToString()个进球</p>,则可以不用@{}标志

    5、 在@{...}代码体中输出文字,需要用到@:,如下所示:
    [html] view plain copy
     

    @{  

        var name="张三";  

        @:你好:  

        @:@name          

     }  

    页面输出:你好:张三

    6、 逻辑代码处理

    [html] view plain copy
     

    @{  

        if(true)  

        {  

            // do something;  

        }  

        else  

        {  

           // do something;  

       }  

    }  



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

    [html] view plain copy
     
    1. @{  
    2.         <div>this is <span>test</span></div>  
    3.  }  

     页面输出:this is test
     要进行多行输出时可用:
    [html] view plain copy
    @{  
    <text>  

           this first,       this secend  

     </text>         

       }  

      页面输出:this first, this secend 
     
    8、 在@{...}内部使用注释
    [html] view plain copy
     

    @{  

      // 单行注释  

       var mesage = "Now Time:";  

        @*   

         当前时间  

         输出当前时间  

        *@   

        /*  

        *  使用C#中的      *  注释  

        */      var time = DateTime.Now;  

       <!-- HTML注释-->  

       var outMessage = mesage + time;  

     }  


    9、 数据类型转换

          

    [html] view plain copy
     

       AsInt(), IsInt()  

     AsBool(),IsBool()  

     AsFloat(),IsFloat()  

     AsDecimal(),IsDecimal()  

     AsDateTime(),IsDateTime()  

     ToString()  

      @{  

           var count = "100";  

       }  

    <p>count:@count.AsInt()</p>  

    输出:count:100  

    <p>@count.IsInt()</p>  

    输出:True  

       如果  

    @{  

           var count = "test";  

     }  

    <p>count:@count.AsInt()</p>  

    输出:count:0  

    <p>@count.IsInt()</p>  

    输出:False  

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

    10、循环使用
    [html] view plain copy
     

    @{  

       /* for循环使用 */  

            for(int k=1;k<5;k++)  

            {  

    @:第 @k 个;  

    }  

            @*页面输出:第 1 个; 第 2 个; 第 3 个; 第 4 个; *@  

            // foreach 使用  

            var list =new List<string> { "one", "two", "three", "four" };  

            foreach(var str in list)  

            {  

                @:@str;  

            }  

           @*页面输出:one; two; three; four; *@  

           var flag=1;  

           while(flag<5)  

            {   

              @:第@{@flag}个;   

              flag++;  

           }  

             @*页面输出:第1个; 第2个; 第3个; 第4个; *@  

    }  

  • 相关阅读:
    LIN总线学习-总线逻辑
    使用万用表测量CAN总线电压及实际电压与逻辑电瓶关系
    汽车网络和控制单元的安全威胁研究
    [CANopen] SDO的命令字
    新起点,新开始
    Git Commands
    Obsessive String
    The E-pang Palace
    最长递增子序列(LIS)
    Valid Sets
  • 原文地址:https://www.cnblogs.com/2260827114com/p/7273584.html
Copyright © 2011-2022 走看看