Я новичок в Asp.Net. Так или иначе, что я хочу достичь/сделать, я хочу контролировать маршрутизацию в Asp.net Core, используя AngularJs. Но проблема в том, что я не могу загрузить (?) Страницы, которые я хочу. Страницы не отображаются в ng-view. или я делаю что-то неправильно? Заранее спасибо.
Вот некоторые из моего кода:
_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:
@{
ViewData["Title"] = "Second";
}
<p>Second</p>
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"
})
}]);
ps: test_name и test_role с сервера mysql работают нормально.
ps 2: Я вырезал часть скриптов в макете. поэтому скрипты работают/загружаются правильно.
Ваш templateUrl в параметре $ routeProvider-Configuration для /routeTwo должен указывать на URL-адрес действия контроллера ядра ASP.NET, например "/home/index". Данный "index1.cshtml" является шаблоном Razor, который должен обрабатываться и обслуживаться базой данных ASP.NET с помощью метода управления.
Я предлагаю изменить
.when('/routeTwo', {
templateUrl: 'Index1.cshtml',
controller: "Test"
в
.when('/routeTwo', {
templateUrl: '/home/index',
controller: "Test"
yourBaseUrl/routeOne
?