您的位置:首页 > 其它

MVC3 Razor视图引擎的基础语法

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

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

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

2. 使用逻辑处理

[code]

[code]@{
if (xx)
{
//do something
}
else
{
//do anything
}
}

[/code]

[/code]

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

[code]

[code]@{
<p>text</P>
<div>div1</div>
}

[/code]

[/code]

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

[code]

[code]@{
@:This is some text
@:This is text too
@:@i 也可输出变量
}

[/code]

[/code]

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

[code]

[code]@{
<text>
tomorrow is good
some girl is nice
</text>
}

[/code]

[/code]

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

[code]

[code]@{
//单行注释
var i = 10;
//defg
}

[/code]

@* 多行注释 *@
@*
多行注释
多行注释
*@

[/code]

@{
@*
多行注释
多行注释
*@
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
}
}
<!--while同理-->


到此结束!呼呼
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: