私はソースコードでいくつかのことを学ぼうとしていますが、自分でこのコードを複製しようとすると、そのエラーが発生します。
別のフォルダからいくつかの.cshtmlテンプレートにアクセスしようとしているビューIndexがあります。
@{
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>
脚本:
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: '/' });
}
]);
_レイアウトにng-app<html ng-app="mail">
が含まれています。また、AngularバンドルはJqueryの前にロードされ、これはlocalhostで行われます。
私が使用しているバージョン:
Angular 1.3.0-beta4
jquery-1.10.2
ページが読み込まれると、しばらくの間<div class="well" ng-view></div>
が読み込まれ、表示されなくなります。
リンクの上にマウスを置くと、パスは問題ないようです。リンクをクリックすると、パスに移動しますが、403エラーのため何も読み込まれません。
ここにいくつかのリンクがあります:
http://localhost:49602/Messages/Index#/
http://localhost:49602/Messages/Index#/sent
http://localhost:49602/Messages/Index#/create
私の推測では、正しいバージョンのAngular/Jqueryを使用していないか、一部のパッケージが不足していますか?
ブラウザで1つのテンプレートを表示しようとすると、別のエラーが発生しました。
「/」アプリケーションでのサーバーエラー。このタイプのページは配信されません。
説明:リクエストされたページのタイプは明示的に禁止されているため、提供されません。拡張子「.cshtml」が正しくない可能性があります。以下のURLを確認して、スペルが正しいことを確認してください。
リクエストされたURL:/Messages/Templates/Create.cshtml
まあ、stackoverflowの助けを借りて問題を解決しました。
これが解決策です: 「/」アプリケーションでのサーバーエラー。このタイプのページは提供されません
<add key="webpages:Enabled" value="true" />
それは私のwebconfigでfalseに設定されました