使用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