Javascript 带.NETMVC的角度路由
我正在Mono上为前端使用AngularJS构建一个.NETMVC 我有一个简单的Javascript 带.NETMVC的角度路由,javascript,angularjs,asp.net-mvc,asp.net-mvc-4,Javascript,Angularjs,Asp.net Mvc,Asp.net Mvc 4,我正在Mono上为前端使用AngularJS构建一个.NETMVC 我有一个简单的HomeController,带有一个简单的返回视图(),可以加载我项目的主页面 我的主Index.cshtml如下所示: <body ng-controller="AppController"> <ul> <li><a href="/#/routeOne">Route One</a></li> <li><
HomeController
,带有一个简单的返回视图()
,可以加载我项目的主页面
我的主Index.cshtml
如下所示:
<body ng-controller="AppController">
<ul>
<li><a href="/#/routeOne">Route One</a></li>
<li><a href="/#/routeTwo">Route Two</a></li>
<li><a href="/#/routeThree">Route Three</a></li>
</ul>
</body>
因此,在这一点上,我的预期行为是,如果我单击Route One
链接,应用程序应该调用RoutesDemoController的One
方法,它会呈现一些局部视图:`One。成功了
但这并没有发生
相反,只有链接更改,但我在浏览器或“网络”选项卡中看不到任何活动
我漏了一步吗
编辑:
我要查看的主页是Index.cshtml
本地主机:8080
我可以点击localhost:8080/RoutesDemo/One
,它会返回我的部分视图
当我点击路线一的锚定链接时,我的url是
http://localhost:8080/#/routeOne
您没有写入路线模板的出口。Angular为此提供了一个特殊指令,ng view
。当路由提供者处理特定路由时,ng视图
元素的.innerHtml
将动态替换为模板
或模板URL
属性中的内容
将索引更改为如下所示:
尝试提供类似templateUrl的html模板:“RoutesDemo/One.html”。你希望Angular调用MVC路由吗?@SanishJoseph我尝试将该模板重命名为.html
。它仍然没有路由meDo你有一个像One.HTML这样的实际HTML路径吗?这里是一个角度的例子,你能在浏览器控制台中看到任何错误吗?我想他正在跟踪的链接中已经出现了,这个问题并没有暗示OP在遵循教程,但他们可能在评论中说了这一点;我只是按照问题正文中的代码去做,它显然没有显示这个组件。是的。没错,这就是问题所在。谢谢
(function () {
var app = angular.module('app', ['ngRoute']);
app.config(function ($routeProvider) {
$routeProvider.when('/routeOne', {
templateUrl: 'RoutesDemo/One'
})
.when('/routeTwo', {
template: 'RoutesDemo/two'
})
.when('/routeThree', {
template: 'RoutesDemo/three'
});
});
//var app = angular.module('app');
app.controller('AppController', function ($scope) {
$scope.test = 'Hello World';
});
})();