Angular Routing with Asp.net mvc areas and cshtml not working

My layout.cshtml contains:

    <li><a href="#/User">User</a></li>
<div ng-view></div>

This is my controller:

and its action methods:

public class UserController : Controller

{
    // GET: Admin/Default
    BMS2Entities _db = new BMS2Entities();
    public ActionResult Index()
    {
        var emp = _db.AspNetUsers.ToList();
        return Json(emp, JsonRequestBehavior.AllowGet);
    }

And index.cshtml and index.js file inside:

index.js contains server call to usercontroller inside admin area:

app.controller('userController', function ($scope, $http) {

$http({ method: 'Get', url: 'Areas/Admin/User/Index' })
            .then(function (response) {
                $scope.depts = response.data;
            });

});

and finally myapp.js file for routing:

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: '/'
});

});

but the codes are not working and it does not display cshtml and shows https://localhost:44382/Common/Home#/User in the browser.


$routeProvider.when('/User', { templateUrl: 'Areas/Admin/Views/User/Index.cshtml', controller: 'userController' });

You need to prefix root path in templateUrl and same thing in while calling controller's action.


Did you write ng-app directive in layout.cshtml? And I think the syntax for tag should be like

<a href="/#/User">User</a> 

Hope this Helps!

链接地址: http://www.djcxy.com/p/30982.html

上一篇: 在jquery php应用程序中,我想使用angularjs进行路由

下一篇: 使用Asp.net mvc区域和cshtml的角度路由不起作用