原文链接:https://m.imooc.com/wenda/detail/550239
cshtml 是 MVC3 之后新增的视图文件,跟原先的 aspx 很相似。区别主要在于二者的解释引擎不同。aspx 采用的是 WebForm Engine,而 cshtml 则是 Razor Rendering Engine。引擎的变化直接导致语法发生变化。aspx 中我们经常使用 <% test; %>这种,在 cshtml 中则改为 @{ test; } 这种更为简洁的写法。当然语法上的不同还有很多,题主可以专门去搜一下这方面资料。只能在 MVC3 或更高版本等支持 Razor 的框架里使用 cshtml。
ASPX简介:ASPX文件是微软的在服务器端运行的动态网页文件,通过IIS解析执行后可以得到动态页面,是微软推出的一种新的网络编程方法,而不是ASP的简单升级,因为它的编程方法和ASP有很大的不同,他是在服务器端靠服务器编译执行的程序代码,ASP 使用脚本语言,每次请求的时候,服务器调用脚本解析引擎来解析执行其中的程序代码,而ASP.NET则可以使用多种语言编写,而且是全编译执行的,比ASP 快,而且,不仅仅是快的问题,有很多优点。.asp是asp的文件后缀名,.aspx是asp.net的文件后缀名。
Razor简介:Razor是一种简单的编程语法,用于在网页中嵌入服务器端代码。Razor 语法基于 ASP.NET 框架,该框架是微软的 .NET 框架特别为 web 应用程序开发而设计的组成部分。Razor 语法赋予所有 ASP.NET 的能力,但是使用了简化过的语法,如果您是初学者,则更容易学习,如果您是专家,则更有利于提高生产力。Razor 网页可被描述为带有两种内容的 HTML 页面:HTML 内容和 Razor 代码。当服务器读取这种页面后,在将 HTML 页面发送到浏览器之前,会首先运行 Razor 代码。这些在服务器上执行的代码能够完成浏览器中无法完成的任务,比如访问服务器数据库。服务器代码能够在页面被发送到浏览器之前创建动态的 HTML 内容。从浏览器来看的话,由服务器代码生成的 HTML 与静态 HTML 内容没有区别。使用 Razor 语法的 ASP.NET 网页拥有特殊的文件扩展名 cshtml(使用 C# 的 Razor 语法)或者 vbhtml(使用 VB 的 Razor