为什么存在多种类型的.cshtml文件?

时间:2019-02-04 09:56:40

标签: asp.net razor asp.net-core-mvc

在尝试了解ASP.NET MVC和Razor时,我发现了3种类型的.cshtml文件。有些人接受Razor代码,例如@Page,有些人则不接受。

请帮助我了解这三种文件的含义:

.cshtml,带有绿色@符号
带有绿色@符号的.cshtml和后面的.cshtml.cs代码
.cshtml,带有白色[@]符号

谢谢!

white @ symbol

other types of .cshtml

2 个答案:

答案 0 :(得分:1)

在第一个示例中看到的是一个.cshtml 视图

asp.net文档摘录https://docs.microsoft.com/en-us/aspnet/mvc/overview/older-versions-1/views/asp-net-mvc-views-overview-cs

  

对于ASP.NET或Active Server Pages,ASP.NET MVC不包含与页面直接对应的任何内容。在ASP.NET MVC应用程序中,磁盘上没有与您在浏览器的地址栏中键入的URL中的路径相对应的页面。在ASP.NET MVC应用程序中,最接近页面的是所谓的视图。

在ASP.NET MVC应用程序中,传入的浏览器请求被映射到控制器操作。控制器动作可能会返回视图。

在第一个示例中看到的是一个 Razor Pages 项目

摘录自《 MSDN杂志》 https://msdn.microsoft.com/en-us/magazine/mt842512.aspx

  

Razor Pages的亮点在于封装和分组UI细节。 Razor页面支持内联或单独的基于类的页面模型,这些模型可以表示页面将显示或处理的数据元素。它们还支持处理程序,无需单独的控制器和操作方法。这些功能大大减少了使用Web应用程序中给定页面所需的单独文件夹和文件的数量。

答案 1 :(得分:1)

  • .cshtml,带有绿色@符号-新推出的ASP.NET Core Razor 页面
  • .cshtml,带有绿色的@符号和后面的.cshtml.cs代码-新 引入了带有模型的ASP.NET Core Razor Page
  • .cshtml,带有白色[@]符号-传统的ASP.NET MVC剃刀视图

有关更多详细信息:Razor Pages in ASP.NET Core