2017-01-07 7 views
0

ホームページPage1 link click AngularJSをASP.Net MVCアプリケーションで使用していますが、角度ルーティングを使用していますが動作しません。Angular RoutingがASP.Net MVCで動作しない

角度のルートは次のように定義されています

var app = angular.module("webApp",['ngRoute']); 
app.config(function($routeProvider){ 
    $routeProvider.when(
     "/",{ 
      templateUrl: "home/dashboard", 
      controller: "webCtrl" 
     }) 
     .when(
      "/page1",{ 
       templateUrl: "home/contact", 
       controller: "page1Ctrl" 
      }) 
     .otherwise({ 
       templateUrl: "home/contact", 
       controller: "page1Ctrl" 
     }); 
}); 

下記の通りナビゲーションリンクがindex.cshtmlに表示されます。

<body ng-app="webApp"> 
    <a href="#/">Home</a> 
    <a href="#page1">Page1</a> 
    <div ng-view></div> 
</body> 

立ち上げたときにはdashboardが表示されますが、その場合に、第2 contactのページを表示しません。リンクがクリックされます。また、奇妙なURLを表示します。ホームページではhttp://localhost:58193/#!/が表示されず、page1をクリックすると、http://localhost:58193/#!/#%2Fpage1にリンクURLが変更されます。何か間違えている場合はお知らせください。

+0

は、あなたがもし、コンソールのエラーと一緒にブラウザ上で見ているのスクリーンショットを追加任意 – Aravind

+0

スクリーンショットが追加されました。コンソールにエラーは表示されません。 –

+0

**あなたの** asp.netコントローラを更新し、角度のあるルートのコードを完成させてください。** – Aravind

答えて

1

このようにしてみましたか?その後、

var app = angular.module("webApp",['ngRoute']); 
app.config(function($routeProvider){ 
    $routeProvider.when(
     "/",{ 
      templateUrl: "/home/dashboard", 
      controller: "webCtrl" 
     }) 
     .when(
      "/page1",{ 
       templateUrl: "/home/contact", 
       controller: "page1Ctrl" 
      }); 

    $routeProvider.otherwise({ redirectTo: "/page1" }); 


    $locationProvider.hashPrefix("!"); 
}); 

:あなたのセクションであなたのインデックスのHTMLに入れ

<body ng-app="webApp"> 

    <a ng-href="#!page1">Page1</a> 
    <div ng-view></div> 
</body> 

、多分この:

<meta name="fragment" content="!"> 
    <base href="/"> 
+0

Thanks Federico!これは、アンカータグのhrefを!#page1に変更したときに機能しました。しかし、私はまだ、http:// localhost:58193 /#!/(ホームページ)とpage1の(http:// localhost:58193 /#!/ page1)のようなブラウザに奇妙なURLが表示されているのだろうと思っています。 –

関連する問題