Razor基础语法简介

原文: Razor基础语法简介

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

1、代码体{...}

@{	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

		{

			// do something;

		}

	}


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

	 }

    

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

	输出:count:0

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

	输出: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个; *@

}




     


你可能感兴趣的:(基础)