您的位置:首页 > 其它

Razor语法学习

2014-04-07 11:02 204 查看
原文:/article/4711088.html

1.Razor的文件类型

Razor支持两种文件类型,分别是.cshtml 和.vbhtml,其中.cshtml 的服务器代码使用了c#的语法,.vbhtml 的服务器代码使用了vb.net的语法。

由此也可以看出,Razor其实是一种服务器代码和HTML代码混写的代码模板,类似于没有后置代码的.aspx文件。

2.Razor语法之@符号

@字符是Razor中的一个重要符号,它被定义为Razor服务器代码块的开始符号。如果我们希望在网页中输出一个变量,或者当前日期,我们可以使用如下代码:

@{string productName = "台灯";}
<span>@productName</span>
<span>@DateTime.Now.ToString("yyyy-MM-hh")</span>


@符号标记了一个HTML代码的输出,在其后的变量、方法返回值和表达式运算结果会进行输出。

3.Razor语法之代码块定义

你可以使用@{code}来定义一段代码块。

@{
int num1 =10;
int num2 =5;

int sum = num1 + num2;
@sum;
}


在代码块中,我们编写代码的方式和通常服务器端代码的方式是一样的。另外,如果需要输出,例如上面的在页面中输出结果,我们可以使用@sum完成输出

另外,@(code)可以输出一个表达式的运算结果,上面的代码我们也可以写成这样:

@{
int num1 =10;
int num2 =5;

int sum = num1 + num2;
@(num1 +num2);
}


4.Razor语法之代码混写

Razor支持代码混写。在代码块中插入HTML、在HTML中插入Razor语句都是可以的。

@{
int num1 =10;
int num2 =5;

int sum = num1 + num2;
string color ="Red";
<font color="@color">@sum</font>
}


输出@符号:@@

输出Email地址:Razor模板会自动识别出Email地址,所以不需要我们进行任何的转换。而在代码块中,只需要使用 @:Tom@gmail.com 即可。@:表示后面的内容为文本。

输出HTML代码(包含标签):直接输出,string html = "<font color='red'>文本</font>"; @html

输出HTML内容(不包含标签):有两种方法,第一种:IHtmlString html=new HtmlString("<font color='red'>文本</font>"); @html; 第二种:string html = "<font color='red'>文本</font>"; @Html.Raw(html);

5.Razor语法之注释

这里所说的注释是指服务器端的注释,在Razor代码块中,可以使用C#的注释方式来进行注释,分别是//:(单行注释)和/**/(多行注释)。

另外,Razor还提供了一种新的服务器段代码注释,可以即注释C#代码,同时可以注释HTML代码,@**@,这种注释方式不受代码块的限制,在Razor代码中的任何位置都额可以。

@*
这是一个注释
<b>这个是注释</b>
*@
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: