Step by Step WebMatrix网站开发之三:Razor语法之一

      因为在MSDN中没有具体的 Razor语法介绍,因而笔者的这些语法讲述也是从一些英文博客中抄来的,有错漏在所难免,请见谅。

       以下是参考的博文:

ASP.NET MVC 3 Preview 1 – Razor Syntax

ASP.NET MVC 3 Preview 1 - Razor View Engine

ASP.NET MVC 3: Server-Side Comments with Razor

ASP.NET MVC 3: Layouts and Sections with Razor

ASP.NET MVC 3 and the @helper syntax within Razor

ASP.NET MVC 3: New @model keyword in Razor

ASP.NET MVC 3: Layouts with Razor

ASP.NET MVC 3: Razor’s @: and <text> syntax

ASP.NET: Loop Statements in WebMatrix and Razor

在开始讲述语法前,先在WebMatrix中创建一个入门网站用来测试语法。

在ASP.NET中,要在页面中混入服务器端代码,一般会使用以下标记:

<%   %>

在Razor语法中,会使用“@”符号代替以上标记。

打开入门网站的Default.cshtml文件,会看到以下代码:

@{  
    Layout = "~/_SiteLayout.cshtml";
    Page.Title = "欢迎访问我的网站!";
}
<p>
    利用 ASP.NET Web Pages,可以轻松地为 Web 生成基于 .NET 的功能强大的应用程序。
</p>

在代码中,在@符号下,大括号内的代码就相当于服务器端代码,这是Razor语法的特点。

大的代码块可以放到大括号内,而只是一行的代码,则可以直接使用@符号,例如在页面中显示的Page对象的Title属性的值,可以在"<.p>"之前加入以下代码:

    </br>
    “

单击运行后,在浏览器将看到如下图所示的结果。

在ASP.NET,如果要在循环内输出内容,必须写三次标记,比较麻烦,例如以下代码:

<% for(int i = 0;i < 10;i++) { %>
      <%: @i %>
<% } %>

在Razor语法中就不用那么麻烦, 因为,代码可以混在一起,靠@符号标识,例如,以上的代码可以写成:

    @for(int i = 0;i < 10;i++) {
      @i<br/>
    }

将以上语句加入到“@Page.Title”下,刷新一下页面,就可看到在“欢迎访问我们的网站!”下列出了从0到9这10个数字。

对比代码,可以看出Razor语法比较美观和简单,这也是Razor语法的最大特色。


原文地址:https://www.cnblogs.com/muyuge/p/6333785.html