使用Asp.net mvc区域和cshtml的角度路由不起作用
我的layout.cshtml包含:
<li><a href="#/User">User</a></li>
<div ng-view></div>
这是我的控制器:
及其行动方法:
公共类UserController:控制器
{
// GET: Admin/Default
BMS2Entities _db = new BMS2Entities();
public ActionResult Index()
{
var emp = _db.AspNetUsers.ToList();
return Json(emp, JsonRequestBehavior.AllowGet);
}
和里面的index.cshtml和index.js文件:
index.js包含管理员区域内对usercontroller的服务器调用:
app.controller('userController',函数($ scope,$ http){
$http({ method: 'Get', url: 'Areas/Admin/User/Index' })
.then(function (response) {
$scope.depts = response.data;
});
});
最后是用于路由的myapp.js文件:
var app = angular.module('myAppS',['ngRoute']);
app.config(function($ routeProvider){
$routeProvider.when('/User', {
templateUrl: 'Areas/Admin/Views/User/Index.cshtml',
controller: 'userController'
});
$routeProvider.otherwise({
redirectTo: '/'
});
});
但代码不起作用,它不显示cshtml并在浏览器中显示https:// localhost:44382 / Common / Home#/ User。
$ routeProvider.when('/ User',{templateUrl:'Areas / Admin / Views / User / Index.cshtml',controller:'userController'});
您需要在调用控制器的操作时在templateUrl中加上根路径,并在同一事件中加上前缀。
您是否在layout.cshtml中编写了ng-app指令? 我认为标签的语法应该是这样的
<a href="/#/User">User</a>
希望这可以帮助!
链接地址: http://www.djcxy.com/p/30981.html上一篇: Angular Routing with Asp.net mvc areas and cshtml not working
下一篇: Angular js routing not working properly, tried even CDN