欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MVC3 Razor视图引擎的基础语法

程序员文章站 2022-06-10 13:14:10
...

好久没有关注微软的开发了,今天看到了MVC3,顺便学习学习,我觉得Razor是个不错的做法,比使用<%%>简单多了,而且好看。首先“_”开头的cshtml文档将不能在服务器*问,和asp.net中的config文档差不多。

Razor语法以@开头,以@{}进行包裹,在变量上使用private等等区域限定基本没啥作用,所以就不需要了,直接var声明即可。代码区分大小写,如果使用vbhtml估计就不区分了,本人使用c#所以不大清楚。初级web开发者都喜欢HTML和.NET并用,这个就满足了你的需求,感觉微软越来越........

 

注意:在字符串@变量字符串的组合中如"[email protected]"如果要输出@i变量就需要mailto:%7B@i }包裹,否则将会解析错误。这个编辑器太郁闷会解析Email地址。下面贴上某位达人写的:

 

2. 使用逻辑处理

@{

    if (xx)

    {

    //do something

    }

    else

    {

    //do anything

    }

}

3. 在@{... }内部使用html标记

@{

    <p>text</P>

    <div>div1</div>

}

4. 在@{...}内部输出文本
利用@:进行单行输出:

@{

    @:This is some text

    @:This is text too

    @:@i 也可输出变量

}

利用<text />进行多行输出:

@{

    <text>

        tomorrow is good

        some girl is nice

    </text>

}

5. 在@{...}内部使用注释

@{

    //单行注释

    var i = 10;

    //defg

}


    @* 多行注释 *@

    @*

        多行注释

        多行注释

    *@



@{

    @*

        多行注释

        多行注释

    *@

    var i = 10;  @* asdfasf *@

}


<!-- 同时也可以使用C#默认的/* ... */ -->


@{

    /*

        多行注释

    */

}

若在@{ ... }内部使用<!-- -->注释,则会输出到页面之中,如果在<!-- -->内部使用@变量,则会被处理
@{

<!-- time now: @DateTime.Now.ToString() -->
}
输出: <!-- time now: 4/9/2011 12:01 -->

6. 类型转换
AsInt(), IsInt()
AsBool(),IsBool()
AsFloat(),IsFloat()
AsDecimal(),IsDecimal()
AsDateTime(),IsDateTime()
ToString()
例子:

@{

    var i = “10”;

}


<p> i = @i.AsInt() </p> <!-- 输出 i = 10 -->

7. 使用循环

<!--方式1-->

@for (int i = 10; i < 11; i++)

{

    @:@i

}

<!--方式2-->

@{

    for (int i = 10; i < 11; i++)

    {

        //do something

    }

}


转载于:https://my.oschina.net/bv10000/blog/197324