在MVC5中使用AngularJS $ locationProvider

时间:2014-07-06 00:21:13

标签: angularjs asp.net-mvc-5 angularjs-routing

如果$ html回调成功,我正在尝试更改页面的网址。

模块:

var app = angular.module('mymodule', ['ngRoute','ui.bootstrap']);

app.config(function($locationProvider, $routeProvider) {
$locationProvider.html5Mode(true);

$routeProvider.
    when('/Home/Index', {
        templateUrl: '/Home/Index',
        controller: 'HomeController'
    });
});

控制器:

$http({
        method: 'POST',
        url: '/User/InsertInitialUserInfo',
        data: insertUserParams
    }).success(function (data, status) {
        $location.url("/Home/Index");
    }).error(function (data, status) {
        console.log(status);
    });

MVC控制器

    public ActionResult Index()
    {
        return View();
    }

我的控制器代码运行后,URL更改为:localhost:xxxx / Home / Register to localhost:xxxx / Home / Index

但观点并没有改变。我错过了什么?

1 个答案:

答案 0 :(得分:1)

您只缺少一个重要的组件,即视图中的ng-view声明

<div ng-view></div>

这是您在app.config中指定的模板的占位符。