我无法让 templateUrl 工作

I can't get templateUrl to work

我是 Angular 的新手,我正在使用 Angular-UI-路由器和 ASP.NET MVC 4。

app.config(['$urlRouterProvider', '$stateProvider', function ($urlRouterProvider, $stateProvider) {
$urlRouterProvider.otherwise('/');

$stateProvider
    .state('about', {
        url: '/',
        template: 'HELLO WORLD'
    });
}]);

这很好用。 HELLO WORLD 正在显示,所以我知道一切都设置得相当正确。

但是当我尝试使用 templateUrl 而不是模板时说:

app.config(['$urlRouterProvider', '$stateProvider', function ($urlRouterProvider, $stateProvider) {
$urlRouterProvider.otherwise('/');  //if you go to incorrect url it'll go back to home

$stateProvider
    .state('about', {
        url: '/',
        templateUrl: 'Home/About.html'
    });
}]);

没有任何显示。我几乎是从头开始使用全新的默认模板。从默认模板中选择 "Internet Application"。在我的目录中,我有

浏览量 --> 主页 --> About.html

我也有 About.cshtml,我已经试过了,但也没用。请帮忙!

ASP.NET MVC Views 不允许直接访问它的 .html 文件。您需要通过在 system.webServer

中添加处理程序来允许从 web.config 进行访问

代码

<system.webServer>
<handlers>
  <add name="JavaScriptHandler" path="*.js" verb="*"
     preCondition="integratedMode" type="System.Web.StaticFileHandler" />      
  <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>

或者反过来,您可以创建一个不同于 Views 的新静态文件夹,其中将包含 html 个文件。您可以直接访问 URL 例如。 static/about.html

有关详细信息,请参阅 this Answer