我有一个项目,我正在加载一个包含角度应用程序的视图。在角度应用程序中,我有我试图加载的模板。 在VS中,目录结构显示
/views/reports/library.cshtml
在这个目录中我添加了一个html文件/模板
/views/reports/modal1.html
当我尝试通过角度或仅通过地址栏http://localhost/reports/modal1.html or http://localhost/views/reports/modal1.html
引用此html文件时,我收到404错误。似乎angular正在寻找网站的根,但我怀疑asp.net MVC路由是否覆盖了某些东西。我想在“视图”目录中将应用程序的文件保存在一起,而不是将它们转储到根目录中。如何在MVC解决方案中加载html模板?
答案 0 :(得分:1)
views文件夹中有一个.webconfig,可以防止加载静态文件。通常,您不会将角度视图放在mvc视图中。我会在项目的根目录创建一个单独的app目录:
/app
/scripts
/controllers
/services
/views
另一个选择是允许在views文件夹
中的web.config中使用静态文件<system.webServer>
<handlers>
<add name="HtmlScriptHandler" path="*.html" verb="*"
preCondition="integratedMode" type="System.Web.StaticFileHandler" />
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>