如何在使用angular时将视图加载到MVC应用程序中

时间:2014-12-24 01:17:33

标签: asp.net-mvc angularjs

我有一个项目,我正在加载一个包含角度应用程序的视图。在角度应用程序中,我有我试图加载的模板。 在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模板?

1 个答案:

答案 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>