これは、すでに何度も質問/回答されている質問のようです。そうではありません。
開発環境: VS 2012 および MVC 4。組み込みの IIS Express を使用してアプリを実行しています。
このエラーは昨日まで発生していませんでした。それは突然起こり始め、私は立ち往生しています。1つのシナリオでしか発生しないのは奇妙です。
にアクセスしようとするとhttp://localhost:49962/managescholars/
、エラーが表示されます
HTTP Error 403.14 - Forbidden
The Web server is configured to not list the contents of this directory.
しかし、使用http://localhost:49962/managescholars/Index
するとうまくいきます。同じコントローラーの他のアクション メソッドも正常に動作します。などhttp://localhost:49962/managescholars/create
。他のすべてのコントローラーも正常に動作します。
以下をweb.configに追加してみました。
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules runAllManagedModulesForAllRequests="true" />
<handlers/>
</system.webServer>
また、管理者として次のコマンドを実行しようとしました
%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir
しかし、どれも機能しませんでした。
編集:
ルートを変更しました。それらは次のように見えます。
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "ManageScholarLectures",
url: "Manage/Lectures/{userFriendlyName}",
defaults: new { controller = MVC.ManageLectures.Name ,
action = MVC.ManageLectures.ActionNames.Index,
userFriendlyName = UrlParameter.Optional }
);
routes.MapRoute(
name: "ManageScholarEdit",
url: "Manage/Scholars/{userFriendlyName}",
defaults: new { controller = MVC.ManageScholars.Name,
action = MVC.ManageScholars.ActionNames.Edit }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = MVC.Home.Name,
action = MVC.Home.ActionNames.Index,
id = UrlParameter.Optional }
);
}
T4MVC
テンプレートを使用しています。
一番下のデフォルト ルートを残して、最初の 2 つのルートを削除しても、まだ機能しません。私は何を間違えましたか?
ご協力いただきありがとうございます。