您的位置:首页 > 其它

MVC3 Razor视图引擎的基础语法

2013-02-27 13:24 260 查看
好久没有关注微软的开发了,今天看到了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同理-->


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