天天看點

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中使用局部變量,進行上下文調用:

@{  

var message="現在時間為:";  

var time=DateTime.Now;  

var outMessage=message+time;  

<div>@outMessage </div>   

頁面輸出為:現在時間為:2011/12/14 20:26:13; 

4、字元拼接輸出

@{var cout=100;}  

<p>這是第 @count 個進球 </p>  

頁面輸出:這是第 100 個進球

如果頁面要輸出:這是第100個進球

則調用方式則為:<p>這是第@{@count}個進球</p>,

如果直接用<p>這是第@count個進球</p>,頁面将會直接輸出:這是第@count個進球

如果輸出的是變量的方法名:

<p>這是第@count.ToString()個進球</p>,則可以不用@{}标志

5、 在@{...}代碼體中輸出文字,需要用到@:,如下所示:

     var name="張三";  

     @:你好:  

     @:@name          

 }  

頁面輸出:你好:張三

6、 邏輯代碼處理

    if(true)  

    {  

        // do something;  

    }  

    else  

7、 在@{...}代碼體内部使用html标記

        <div>this is <span>test</span></div>  

 頁面輸出:this is test

 要進行多行輸出時可用:

       <text>  

       this first,  

       this secend    

       </text>         

     }  

  頁面輸出:this first, this secend 

8、 在@{...}内部使用注釋

    // 單行注釋  

    var mesage = "Now Time:";  

    @*   

        目前時間  

        輸出目前時間  

    *@   

    /*  

     *  使用C#中的  

     *  注釋  

     */  

    var time = DateTime.Now;  

<!-- HTML注釋-->  

    var outMessage = mesage + time;  

9、 資料類型轉換

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

輸出:count:0  

輸出:False  

即:AsInt() 如果轉換不成功直接為0,IsInt傳回Bool值,其他類似

10、循環使用

        /* 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個; *@