在MVC中,视图文件名应具有哪些扩展名?

时间:2015-07-18 02:46:55

标签: asp.net-mvc

我获得了一个示例MVC项目,其中包含扩展名为.aspx的视图 但是当我使用VS2013 ASP.Net向导创建一个新的MVC项目时,视图的扩展名为.cshtml 有两种MVC项目吗?

2 个答案:

答案 0 :(得分:4)

MVC中的

Views引用C#中的.cshtml文件或Visual Basic中的.vbhtml文件。

.aspx文件是webform个文件而不是视图 - 这是ASP.NET用于使webform开发更类似于桌面应用程序开发的初始方法。这些页面通常作为实际文件包含在路由列表中,而MVC使用不基于现有文件的控制器路由(即,url路径不像传统的html那样匹配文件和目录结构) ,最终服务于意见。 .aspx个文件也可以有code-behind个文件来将html / aspx标记与.NET代码分开;这些文件的扩展名为.aspx.cs.aspx.vb。在MVC应用程序中,这些文件也可能包含设计器文件。

名为aspx的{​​{1}}文件的一组文件可能包含以下文件:

  1. MyPage.aspx
  2. MyPage.aspx.cs或MyPage.aspx.vb
  3. MyPage.aspx.designer.cs或MyPage.aspx.designer.vb
  4. 在您选择“显示所有文件”之前,可能会隐藏#3中的文件。在项目中,或者在传统的网站中可能根本不存在。项目类型。我认为你必须升级到一个Web应用程序项目(Wap)'在集成MVC之前的项目类型,虽然我可能是错的。所有WAP项目都应该包含这些MyPage个文件。

答案 1 :(得分:1)

  

在MVC中,视图文件名应具有哪些扩展名?

.cshtml除非您有理由不使用带有C#的Razor视图引擎。

  

有两种MVC项目吗?

相关答案是有超过2个不同的视图引擎。剃刀was introduce in 2010。 Razor视图引擎是Visual Studio MVC模板中开箱即用的引擎。有关使用ASP.NET MVC的更加模糊的视图引擎的更多信息,请参阅ASP.NET MVC View Engine Comparison