2017-06-16 56 views
0

您好,我正在用asp.net mvc創建一個angularJs SPA項目。我想在m項目中實現角度路由,所以我試圖通過角度路由來改變路線。這是我的代碼。路由在asp.net mvc中無法正常工作

角度路線。

var app = angular.module('myApp', [ 
'ngRoute', 
'myApp.ctrl.testCtrl' 

]) 
    .config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) { 
$routeProvider.when('/test', { templateUrl: '/home/test', controller: 'testCtrl'}) 
}]); 

我控制器

var app = angular.module('myApp.ctrl.testCtrl', []) 
.controller('testCtrl', ['$scope', function() { 
    console.log('in Controller'); 
}]) 

RouteConfig.cs

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

     routes.MapRoute(
      name: "Default", 
      url: "{controller}/{action}/{id}", 
      defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } 
     ); 

現在,當我寫

<a href="#/test">TestPage</a> 

也試過

<a href="/#/test">TestPage</a> 

但這些都不起作用。
網址在每次

http://localhost:57026/#!#%2Ftest 

所以路由不起作用。請點我在哪裏我要去錯

回答

0

您應該定位標記寫NG單擊事件

<a href="#" ng-click="clickFunction()">TestPage</a> 

,並在控制器點擊功能使用

$scope.clickFunction = function(){ 
     $location.path("/test"); 
}