无法访问物理 HTML 文件

Cannot access to physical HTML file

我正在将我的老式 asp.net MVC 应用程序迁移到 angular 应用程序。

我创建了 .html 文件的子集,其中包含模板,这些模板将提供 HTML 代码来构建我的 angular 组件。

问题

我想将此 html 文件放入我的应用程序中已存在的文件夹 "Views" 中。但是当我尝试访问 .html 文件时,我收到以下消息:

但是如果我将 .html 文件放在这个文件夹之外,我可以直接访问它们:

问题

你能告诉我为什么会这样吗?

无论如何,我可以访问文件夹 "Views" 中的 html 个文件?

为了完成这项工作,我建议您在 html 文件中使用 html 标记并将其放在 .cshtml 视图中,您将使用 GET 呈现该视图例如家庭控制器中的操作(就像您通常在 MVC 模式中所做的那样)。

实现此目的的另一种方法(我不推荐)是将 html 文件添加到可部署文件夹(如 javascript 文件的 js 文件夹),然后您可以使用直接 link 调用您的文件,但是您将失去 MVC 模式的任何功能。

希望对您有所帮助。

尝试在您的 RouteConfig 中添加显式忽略

routes.IgnoreRoute("{file}.html");

这应该会阻止默认路由生效

由于 html 文件在 views 文件夹中工作,您能否检查 'Views' 文件夹之后的路径,即 'Editor/V2/Templates' 是否正确?

长话短说,Views 文件夹是一个特殊文件夹,其中包含由 ASP.NET MVC 路由的操作所使用的模板。因此,您不能使用它来保存要直接使用的文件。

我建议完全放弃 .NET Framework,因为您要 Angular。

如果这不是一个选项或者您想保留 ASP.NET MVC 功能,那么只需使用另一个文件夹(就像您已经通过将 Templates 文件夹移动到根目录所做的那样)。