我是Angular的新手,我在ASP.NET MVC 4中使用Angular-UI-Router。
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,我已经尝试过了,但它既没有工作也没有。求救!
答案 0 :(得分:2)
ASP.NET MVC Views
不允许直接访问它的.html
个文件。您需要通过在web.config
system.webServer
的访问权限
<强>代码强>
<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