您的位置:首页 > 其它

MVC3 Razor视图引擎的基础语法

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

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

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

2.使用逻辑处理

@{
if(xx)
{
//dosomething
}
else
{
//doanything
}
}
3.在@{...}内部使用html标记

@{
<p>text</P>
<div>div1</div>
}
4.在@{...}内部输出文本
利用@:进行单行输出:

@{
@:Thisissometext
@:Thisistexttoo
@:@i也可输出变量
}
利用<text/>进行多行输出:

@{
<text>
tomorrowisgood
somegirlisnice
</text>
}
5.在@{...}内部使用注释

@{
//单行注释
vari=10;
//defg
}
@*多行注释*@
@*
多行注释
多行注释
*@
@{
@*
多行注释
多行注释
*@
vari=10;@*asdfasf*@
}
<!--同时也可以使用C#默认的/*...*/-->
@{
/*
多行注释
*/
}
若在@{...}内部使用<!---->注释,则会输出到页面之中,如果在<!---->内部使用@变量,则会被处理
@{

<!--timenow:@DateTime.Now.ToString()-->
}
输出:<!--timenow:4/9/201112:01-->

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

@{
vari=“10”;
}
<p>i=@i.AsInt()</p><!--输出i=10-->
7.使用循环

<!--方式1-->
@for(inti=10;i<11;i++)
{
@:@i
}
<!--方式2-->
@{
for(inti=10;i<11;i++)
{
//dosomething
}
}
<!--while同理-->
到此结束!呼呼
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: