欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【MVC架构】Razor语法

程序员文章站 2022-06-10 13:07:53
...

前言

  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允许您在视图中的任何位置使用模型对象。

相关标签: MVC架构 Razor