天天看点

【MVC架构】Razor语法前言叙述小结

前言

  Razor 是一种标记语法,可以让您将基于服务器的代码(Visual Basic 和 C#)嵌入到网页中。

  Razor是基于服务器的代码可以在网页传送给浏览器时,创建动态 Web 内容。当一个网页被请求时,服务器在返回页面给浏览器之前先执行页面中的基于服务器的代码。通过服务器的运行,代码能执行复杂的任务,比如进入数据库。

叙述

Razor

   Razor 是基于 ASP.NET 的,是为创建 Web 应用程序而设计的。它具有传统 ASP.NET 的功能,但更容易使用并且更容易学习

   Razor是ASP.NET MVC支持的视图引擎之一。Razor允许您使用C#或Visual Basic编写HTML和服务器端代码的组合。视图基本语法的Razor视图具有.vbhtml文件扩展名,C#语法具有.cshtml文件扩展名。

Razor C# 语法规则

(1)Razor 代码块包含在 @{ ... } 中

(2)内联表达式(变量和函数)以 @ 开头

(3)代码语句用分号结束

(4)变量使用 var 关键字声明

(5)字符串用引号括起来

(6)C# 代码区分大小写

(7)C# 文件的扩展名是 .cshtml

如何编写Razor代码

内联表达式:

   用@符号开始,用Html代码编写服务器端C#或VB代码。例如,编写@Variable_Name来显示服务器端变量的值。例如,DateTime.Now返回当前日期和时间。所以,写@ DateTime.Now来显示当前的日期时间,如下所示。单行表达式在表达式的末尾不需要分号。

<h1>Razor syntax demo</h1>

<h2>@DateTime.Now.ToShortDateString()</h2>
           

多语句代码块:

   可以在花括号里面写多行的服务器端代码@{ ... }。每行必须以与C#相同的分号结尾。

@{
    var date = DateTime.Now.ToShortDateString();
    var message = "Hello World";
}

<h2>Today's date is: @date </h2>
<h3>@message</h3>
           

显示来自代码块的文本:

(1)使用@:或<text>/<text>显示代码块中的文本。

@{
    var date = DateTime.Now.ToShortDateString();
    string message = "Hello World!";
    @:Today's date is: @date <br />
    @message                               
}
           

(2)在代码块中使用<text>显示文本,如下所示。

@{
    var date = DateTime.Now.ToShortDateString();
    string message = "Hello World!";
    <text>Today's date is:</text> @date <br />
    @message                               
}
           

if-else条件:

  写@ if条件开始的条件。if-else代码块必须包含在大括号{}中,即使是单个语句也是如此。

@if(DateTime.IsLeapYear(DateTime.Now.Year) )
{
    @DateTime.Now.Year @:is a leap year.
}
else { 
    @DateTime.Now.Year @:is not a leap year.
}
           

for循环:

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

模型:

  使用@model在视图中的任何位置使用模型对象。

@model Student

<h2>Student Detail:</h2>
<ul>
    <li>Student Id: @Model.StudentId</li>
    <li>Student Name: @Model.StudentName</li>
    <li>Age: @Model.Age</li>
</ul>
           

声明变量:

      在括号内的代码块中声明一个变量,然后用@符号在html内部使用这些变量。

@{ 
    string str = "";

    if(1 > 0)
    {
        str = "Hello World!";
    }
}

<p>@str</p>
           

它是如何工作的?

1、Razor 是一种将服务器代码嵌入在网页中的简单的编程语法。

2、Razor 语法是基于 ASP.NET 框架,专门用于创建 Web 应用程序的部分 Microsoft.NET 框架。

3、Razor 语法支持所有 ASP.NET 的功能,但是使用的是一种简化语法,对初学者而言更容易学习,对专家而言更有效率的。

4、Razor 网页可以被描述成带以下两种类型内容的 HTML 网页: HTML 内容和 Razor 代码。

5、当服务器读取页面时,它首先运行 Razor 代码,然后再发送 HTML 页面到浏览器。在服务器上执行的代码能够执行一些在浏览器上不能完成的任务,比如,访问服务器数据库。服务器代码能创建动态的 HTML 内容,然后发送到浏览器。从浏览器上看,服务器代码生成的 HTML 与静态的 HTML 内容没有什么不同。

6、带 Razor 语法的 ASP.NET 网页有特殊的文件扩展名 cshtml(Razor C#)或者 vbhtml(Razor VB)。

小结

(1)使用@来编写服务器端代码。

(2)服务器端代码块以@ {* code *}开头

(3)使用@:或<text> </ <text>显示代码块中的文本。

(4)if条件以@if {}开头

(5)for循环以@for开头

(6)@model允许您在视图中的任何位置使用模型对象。

继续阅读