ASP.NET MVC 学习笔记-3.Razor语法

Razor语法是一种嵌入在网页中基于服务器的代码的编程语法。使用Razor语法的网页中包括两个不同类型的内容:客户端内容和服务器内容。客户端内容是网页中常用的内容,比如,HTML标记(元素)、CSS样式、纯文本和客户端脚本,如javascript。

Razor语法允许你在客户端内容中添加服务器代码。如果页面中包括服务器代码,则首先运行服务器代码,然后再将页面发送到浏览器上。通过在服务器上运行,比仅仅显示客户端内容更加复杂,比如访问服务器的数据库操作。更为重要的时,服务器代码能够动态地生成客户端内容,比如创建HTML标记或其他内容,并随着静态HTML文件一并发送到浏览器上。从浏览器的角度看,由服务器代码生成的内容与其他内容没有什么区别。如你已经了解,其中所需的服务器代码非常简单。

包含Razor语法的ASP.NET 网页具有特殊的文件后缀名称(cshtml或vbhtml)。服务器能够识别这些文件,并运行其中的服务器代码然后将内容发送给浏览器。

Razor语法基于ASP.NET技术上,它运行在微软.NetFramwork上。.NetFramwork是一个庞大的、全面的编程框架,它可以开发任何类型的计算机程序。ASP.NET只是.NetFramwork框架的一部门,它专门用来创建Web应用程序。开发人员已经用ASP.NET技术创建了许多大型的、高流量的网站应用(任何时候,你看到访问网站的URL中包含.aspx后缀名的文件,它就是使用ASP.NET技术实现的)。

Razor语法让你更好地使用ASP.NET技术,简洁的语法能够让初学者更好地学习,让技术专家提升工作效率。即使语法简单,它与ASP.NET和.NET Framework的关系能够让你在网站变得越来越复杂时,给你更多的支持。

 

服务器代码块中,需要输出文本或HTML标记到页面上。如果服务器代码中包括文本而不是代码,需要将文本信息原样呈现出来。ASP.NET使用以下几种方式来区分代码和文本:

文本信息

将文本信息括在HTML元素中,比如<p></p>或者<em></em>。

文本、HTML元素和服务器代码表达都可以括在HTML元素中。当ASP.NET解析HTML标记时,会直接呈现其包含的元素和文本,并能够解析服务器代码表达式。

使用操作符“@:”或者<text>元素

@:能够输出包含纯文本或者不需要匹配的HTML标记(< br />)的单行文本。<text>能够输出多行文本。当你不需要呈现一些HTML标记,就可以使用这种方式。比如,<br/>就是直接换行。

当你需要输出多行文本时,你可以在每行的开头添加上“@:”操作符或者把它括在<text>元素中。

当一行文本括在<text>元素中时,ASP.NET能够识别出“@:”操作符和<text>元素,从而不将他们呈现出来。

空格和换行

语句中可以包括空格和换行,但必须以分号结尾。但是,文本字符串中间不能出现换行,当文本字符串需要换行时,可以在字符串开头添加“@”操作符。

注释

Razor注释在页面发送到浏览器之前就已经在服务端被处理(移除)了。可以使用@**@来注释掉一行或多行代码。在Razor代码块中,还可以使用编程语言的注释方法,比如C#中的“//”和“/**/”,同时,还可以使用<!-- -->来注释HTML元素,但是HTML注释信息会呈现到网页上,并在网页源代码上可以查看到。

变量

变量名称必须以字母开头,不能包含空格或保留关键字

不需要指定类型,ASP.NET会根据变量中保存的数据解析出其类型,因此,声明变量时可以使用var关键字。

类型转换

AsInt()、IsInt():转换字符串为对应的整形,判断是否可以转换为整形

AsBool()、IsBool():转换字符串为对应的布尔形,判断是否可以转换为布尔形

AsFloat()、IsFloat():转换字符串为对应的浮点形,判断是否可以转换为浮点形

AsDecimal()、IsDecimal ():转换字符串为对应的十进制数,判断是否可以转换为十进制数

AsDateTime()、IsDateTime ():转换字符串为对应的日期类型,判断是否可以转换为日期类型

ToString():任意类型转换为字符串类型

操作符

+、-、*、/:数字型运算

=:赋值运算

==:判断相等运算

!=:判断不相等运算

<、>、<=、>=:小于、大于、小于等于、大于等于

+:字符串连接操作

+=、-=:自增、自减

.:用于区分对象及其属性和方法

():用于组表达式和参数传递给方法

[]:获取数组或列表中的值

!:取反操作

&&、||:逻辑与、逻辑或

文件和文件夹路径

URL以域名称(http://www.example)或服务器名称(http://localhost)作为开头

URL表示主机计算机的物理路径(http://myserver-->C:\websites\mywebsite)

代码使用相对路径来表示完整路径的简写,它包括URL中域或服务器名称后面的部门。

http://mycompanyserver/humanresources/CompanyPolicy.html

ServerName: mycompanyserver

VirtualPath: /humanresources/CompanyPolicy.html

物理路径:C:\mywebsites\humanresources\CompanyPolicy.html

路径转换

Server.MapPath(virtualPath):将相对路径转换为物理路径

相对根路径:~

猜你喜欢

转载自www.cnblogs.com/DreamOfLife/p/8965162.html