2016-07-19 17 views
0

私はAsp.Netをかなり新しくしています。とにかく、私が達成したい/したいのは、AngularJsを使ってAsp.net Coreのルーティングを制御したいということです。しかし問題は、私が望むページを読み込めない(?)ことができないということです。ページはビューに表示されません。または私は何か間違っているのですか?前もって感謝します。AngularJsを使用したAsp.netコアのルーティング

ここ

私のコードの一部:

_Layout.cshtml:

<body ng-app="myApp" style="background-color:white"> 
<div ng-controller="Test"> 
<h1 style="margin-left:20px;color:darkred">Test</h1> 
<input ng-model="test"/> 
<p>{{tester}}</p> 
<p style="color:black">{{test}}</p> 
    </div> 
<ul> 
    <li><a href="#routeOne">Route One</a></li> 
    <li><a href="#routeTwo">Route Two</a></li> 

</ul> 
<div> 
    <p>@Model.test_name</p> 
    <p>@Model.test_role</p> 


</div> 
<div ng-view></div> 

<div class="container body-content"> 
    @RenderBody() 


</div> 
</body> 

HomeController.cs:

namespace WebApplication12.controllers 
{ 
public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     MysqlConnector test = new MysqlConnector(); 
     return View(test); 
    } 

    } 
} 

Index.cshtml:

@{ 
ViewData["Title"] = "One"; 
} 

<p> {{tester}} test</p> 

Index1.cshtml :

​​

site.js:

var app = angular.module('myApp', ['ngRoute']); 
app.controller('Test', function ($scope) { 

    $scope.tester = "message displayed"; 

}); 

app.config(['$routeProvider', function ($routeProvider){ 
    $routeProvider. 
    when('/routeOne', { 
     template: '<p>First Page</p>', 
     controller: "Test" 
    }) 
    .when('/routeTwo', { 
     templateUrl: 'Index1.cshtml', 
     controller: "Test" 

    }) 

}]); 

p.s:TEST_NAMEとtest_role彼らが正常に動作しているMySQLサーバーからです。

p.s 2:私はレイアウトのスクリプト部分をカットしました。スクリプトは正常に動作/ロードされます。

+0

あなたの現在のURLは何ですか? 'yourBaseUrl/routeOne'を試しましたか? – Weedoze

+0

私はこれをhttp:// localhost:60660で実行しています。私はそれを試したが、それは空のページを表示しています。リンクをクリックすると、URLは次のようになります。 http:// localhost:60660 /#!#routeOne – risefire

+0

_layoutの ''部分に ''を追加しました – Weedoze

答えて

0

$ routeProviderの/ routeTwoのConfigurationのtemplateUrlは、ASP.NET CoreコントローラのアクションのURLをポイントする必要があります。 "/ home/index"と入力します。与えられた "index1.cshtml"は、Controlerメソッドを介してASP.NET Core Frameworkによって処理され、処理されなければならないRazorテンプレートです。

私は

.when('/routeTwo', { 
     templateUrl: '/home/index', 
     controller: "Test" 

.when('/routeTwo', { 
    templateUrl: 'Index1.cshtml', 
    controller: "Test" 

を変更することをお勧め

関連する問題