繁体   English   中英

我无法使用templateUrl

[英]I can't get templateUrl to work

我是Angular的新手,并且将Angular-UI-Router与ASP.NET MVC 4结合使用。

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

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

这很好。 HELLO WORLD正在显示,所以我知道所有设置都非常正确。

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

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应用程序”。

视图->主页-> 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>

否则,您可以创建一个新的静态文件夹,而不是其中包含html文件的Views 您可以直接访问URL例如。 static/about.html

有关更多详细信息,请参阅此答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM