.NET MVC AngularJS路由:后退按钮显示空白屏幕

时间:2015-06-05 09:08:12

标签: browser asp.net-mvc-5 single-page-application angularjs-routing

我正在进行完整SPA周期的项目。关键是,我的问题是当我点击浏览器后退按钮时,引擎显示空白屏幕并且页面正在尝试重新加载。

当我尝试移动不同MVC控制器之间的视图时,才会出现此问题。但浏览器后退按钮适用于相同的MVC控制器。

MVC控制器:

  • HomeController 返回按钮到 HomeController - >作品完美
  • TestDataController 返回按钮到 HomeController - >作品完美
  • HomeController 返回 TestDataController 的按钮 - > 空白屏幕
  • HomeController 转发按钮到 TestDataController - > 空白屏幕
  •   -

JS:

  //// creating a App
var app = angular.module("shellApp", ['ngRoute']);
app.controller('search', search);
//Setting route config
app.config(['$routeProvider', function ($routeProvider) {
    $routeProvider.
    when('/home', {
        templateUrl: 'Home/Home'
    }).
    when('/resume', {
        templateUrl: 'Home/Resume'
    }).
    when('/webgrid', {
        templateUrl: 'TestData/WebGrid',
        controller: 'search'
    }).
    when('/tablewithangular', {
        templateUrl: 'TestData/TableWithAngular',
        controller: 'search'
    }).
    otherwise({
        redirectTo: 'Home/Home'
    });
}]);

CSHTML:

 <li class="active"><a href="#/home">Home <span class="sr-only">(current)</span></a></li>
                <li><a href="#/resume">Skills</a></li>
                <li class="dropdown" ng-class="{ open : dd1 }" ng-init="dd1 = false" ng-click="dd1 = !dd1">
                        <a href="javascript:;" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Working Examples <span class="caret"></span></a>
                        <ul class="dropdown-menu" role="menu">
                            <li><a href="#/webgrid">WebGrid</a></li>
                            <li class="divider"></li>
                            <li><a href="#/tablewithangular">Table with ng-sorting and ng-pagination</a></li>
                        </ul>
                    </li>

0 个答案:

没有答案