ASP.NET Razor

  我的工作方向c#,但我本来学的是java,接触第一个项目的时候发现项目文件是以.cshtml结尾的,那么问题来了,.cshtml是什么文件?它跟.html有什么关系?

cshtml是Razor在c#中文件的拓展名,要学习Razor,先了解以下几个问题:

1:什么是ASP?

•ASP:Active Server Pages(动态服务器页面)

是MicroSoft公司开发的服务器端脚本环境,可用来创建动态交互式网页并建立强大的web应用程序。当服务器收到对ASP文件的请求时,它会处理包含在用于构建发送给浏览器的HTML(Hyper Text Markup Language,超文本置标语言)网页文件中的服务器端脚本代码。除服务器端脚本代码外,ASP文件也可以包含文本、HTML(包括相关的客户端脚本)和com组件调用。

•ASP 是在 IIS 中运行的程序

•ASP 文件与 HTML 文件类似

•ASP 文件可包含文本、HTML、XML 和脚本

•ASP 文件中的脚本可在服务器上执行

•ASP 文件的文件扩展名是 ".asp"

•ASP与HTML的区别:

当浏览器请求某个 HTML 文件时,服务器会返回这个文件;

当浏览器请求某个 ASP 文件时,IIS 将这个请求传递给 ASP 引擎。ASP 引擎会逐行地读取这个 ASP 文件,并执行文件中的脚本。最后,ASP 文件将以纯 HTML 的形式返回到浏览器。

2:什么是ASP.NET?

•ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。

•ASP.NET 是一种服务端脚本技术:能够使(嵌入网页中的)脚本由Internetserver运行。

•ASP.NET 支持三种不同的开发模式:
Web Pages(Web 页面)、MVC(Model View Controller 模型-视图-控制器)、Web Forms(Web 窗体)

•ASP.NET 与经典 ASP 是不兼容,但 ASP.NET 可能包括经典 ASP。

•ASP.NET 具有更好的语言支持,有一大套的用户控件和基于 XML 的组件,并集成了用户身份验证。

•ASP.NET 页面的扩展名是 .aspx ,通常是用 VB (Visual Basic) 或者 C# (C sharp) 编写。

•在 ASP.NET 中的控件可以用不同的语言(包括 C++ 和 Java)编写。


好了,现在可以讨论一下什么是ASP.NET Razor了?

1:概述:

•Razor 是一种同意您向网页中嵌入基于server的代码(Visual Basic和 C#)的标记语法。就像是一种server代码和HTML代码混写的代码模板。类似于没有后置代码的.aspx文件。

•Razor支持两种文件类型,各自是.cshtml和.vbhtml,当中.cshtml 的server代码使用了c#的语法,.vbhtml的server代码使用了vb.net的语法。  

•Razor的发布是和MVC一起的,作为MVC的视图模板引擎。

•在ASP.NET MVC模式中,我们的视图引擎选择有两种:ASPX(ASP.NET),Razor。

•工作:当网页被写入浏览器时,基于server的代码可以创建动态内容。在网页载入时,server在向浏览器返回页面之前,会运行页面内的基于server代码。因为是在server上运行。这样的代码能运行复杂的任务。比方訪问数据库。


2:语法:

      Razor 代码块包含在 @{ ... } 中
      内联表达式(变量和函数)以 @ 开头;
      代码语句用分号结束;
      变量使用 var 关键字声明;
      字符串用引号括起来;
      C# 代码区分大小写;
      C# 文件的扩展名是 .cshtml
例:

 1 <html>
 2 <body>
 3 <!-- Single statement block 单语句块--> 
 4 @{ var myMessage = "Hello World"; }
 5 <!-- Inline expression or variable 内联表达式或变量-->
 6 <p>The value of myMessage is: @myMessage</p> 
 7 <!-- Multi-statement block 多语句块-->
 8 @{
 9 var greeting = "Welcome to our site!";
10 var weekDay = DateTime.Now.DayOfWeek;
11 var greetingMessage = greeting + " Here in Huston it is: " + weekDay;
12 }
13 <p>The greeting is: @greetingMessage</p>
14 </body>
15 </html>

补充:@{}就类似于.aspx中的<%%>

总结:Razor这种标记语法就是将server代码嵌入到html里面,在ASP.NET MVC中使用。

在项目中的使用之后再整理

猜你喜欢

转载自www.cnblogs.com/rulasann/p/9228983.html