web-dev-qa-db-ja.com

リソースの読み込みに失敗しました:サーバーはステータス403(禁止)MVC 5で応答しました

私はソースコードでいくつかのことを学ぼうとしていますが、自分でこのコードを複製しようとすると、そのエラーが発生します。

別のフォルダからいくつかの.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

5
Eduard

まあ、stackoverflowの助けを借りて問題を解決しました。

これが解決策です: 「/」アプリケーションでのサーバーエラー。このタイプのページは提供されません

<add key="webpages:Enabled" value="true" />

それは私のwebconfigでfalseに設定されました

4
Eduard