J'essaie d'apprendre certaines choses avec un code source, mais lorsque j'essaie de me reproduire ce code, j'obtiens cette erreur.
J'ai une vue index où j'essaie d'accéder à des modèles .cshtml à partir d'un autre dossier.
@{
ViewBag.Title = "Index";
}
<div ng-controller="inboxIndexCtrl">
<div class="row">
<div class="col-sm-1">
<a ng-href="#/" id="InboxSubNav">Inbox</a>
<hr />
<a ng-href="#/sent" id="InboxSubNav">Sent</a>
<hr />
<a ng-href="#/create" id="InboxSubNav">Create</a>
</div>
<div class="col-sm-11">
<div class="well" ng-view></div>
</div>
</div>
</div>
Scénario:
var mail = angular.module('mail', ['ngRoute']);
mail.config([
'$routeProvider', ($routeProvider) => {
$routeProvider.when('/', {
templateUrl: 'Templates/Incoming.cshtml'
})
// Registering path with controller relative to Inbox/Index
// This part is similar to RouteConfig.cs in ASP MVC
.when('/message/:id', {
// Templates are located inside Inbox.
templateUrl: 'Templates/Message.cshtml',
controller: 'oneMessageCtrl'
}).when('/create', {
templateUrl: 'Templates/Create.cshtml',
controller: 'createCtrl'
}).when('/reply/:id', {
templateUrl: 'Templates/Reply.cshtml',
controller: 'replyCtrl'
}).when('/sent', {
templateUrl: 'Templates/Sent.cshtml',
controller: 'sentCtrl'
})
.otherwise({ redirectTo: '/' });
}
]);
_Layout a inclus ng-app<html ng-app="mail">
. De plus, le paquet Angular est chargé avant Jquery, et cela se fait avec localhost.
Les versions que j'utilise:
Angular 1.3.0-beta4
jquery-1.10.2
Lorsque la page est chargée, pendant une seconde elle charge le <div class="well" ng-view></div>
puis disparaît.
Lorsque je passe la souris au-dessus des liens, le chemin semble aller. Lorsque je clique sur des liens, il reste sur le chemin mais ne charge rien en raison d'une erreur 403.
Voici quelques liens:
http://localhost:49602/Messages/Index#/
http://localhost:49602/Messages/Index#/sent
http://localhost:49602/Messages/Index#/create
Mon hypothèse est que je n'utilise pas les bonnes versions de Angular/Jquery ou est-ce qu'il me manque des paquets?
J'ai essayé de voir dans le navigateur un modèle et j'ai eu une autre erreur:
Erreur serveur dans l'application. Ce type de page n'est pas servi.
Description: le type de page que vous avez demandé n'est pas servi car il a été explicitement interdit. L'extension '.cshtml' peut être incorrect. Veuillez revoir l’URL ci-dessous et assurez-vous qu’il s’agit bien de épelé correctement.
URL demandée: /Messages/Templates/Create.cshtml
Eh bien, avec l'aide de stackoverflow, j'ai résolu le problème:
Voici la solution: Erreur du serveur dans l'application '/'. Ce type de page n'est pas servi
<add key="webpages:Enabled" value="true" />
Il a été mis sur false dans ma webconfig