【发布时间】:2015-10-07 20:24:35
【问题描述】:
我收到了一个示例 MVC 项目,其中包含扩展名为 .aspx 的视图 但是,当我使用 VS2013 ASP.Net 向导创建一个新的 MVC 项目时,视图的扩展名为 .cshtml 有两种 MVC 项目吗?
【问题讨论】:
-
这些与用于在视图中生成 html 标记的视图引擎(ASPX 或 Razor)有关。 Refer this article详细解释
标签: asp.net-mvc
我收到了一个示例 MVC 项目,其中包含扩展名为 .aspx 的视图 但是,当我使用 VS2013 ASP.Net 向导创建一个新的 MVC 项目时,视图的扩展名为 .cshtml 有两种 MVC 项目吗?
【问题讨论】:
标签: asp.net-mvc
MVC 中的Views 指的是 C# 中的 .cshtml 文件或 Visual Basic 中的 .vbhtml 文件。
.aspx 文件是webform 文件,而不是视图——这是 ASP.NET 使 Web 表单开发更类似于桌面应用程序开发所采用的初始方法。这些页面通常作为实际文件包含在路由列表中,而 MVC 使用不基于现有文件的控制器路由(即 url 路径与传统 html 的文件和目录结构不匹配),最终服务观点。 .aspx 文件也可以有 code-behind 文件来将 html/aspx 标记与 .NET 代码分开;这些文件将具有.aspx.cs 或.aspx.vb 扩展名。在 MVC 应用中,这些文件也可能包含设计器文件。
名为MyPage 的aspx 文件的一组文件可能包含以下文件:
#3 中的文件可能会被隐藏,直到您在项目中选择“显示所有文件”,或者在传统的“网站”项目类型中可能根本不存在。我认为您必须先升级到“Web 应用程序项目 (Wap)”项目类型,然后才能集成 MVC,尽管我可能错了。所有 WAP 项目都应该有这些 .aspx.designer.xx 文件。
【讨论】:
System.Web.Mvc.WebFormViewEngine 让我们将它们用作视图。没有?
RazorViewEngine 让您可以将 Razor 语法与@ 等一起使用。WebFormViewEngine 让您可以使用传统上在用于绑定到页面成员的旧 webforms aspx 代码。 c-sharpcorner.com/UploadFile/ff2f08/…
在 MVC 中,视图文件名应该具有什么扩展名?
.cshtml 除非您有理由不将 Razor 视图引擎与 C# 一起使用。
有两种 MVC 项目吗?
相关的答案是有超过 2 个不同的视图引擎。剃刀was introduce in 2010。 Razor 视图引擎是 Visual Studio MVC 模板中现成的。请参阅ASP.NET MVC View Engine Comparison 以获取有关与 ASP.NET MVC 一起使用的更晦涩的视图引擎的更多信息。
【讨论】: