1. ホーム
  2. asp.net

[解決済み] ASP.Net MVC - リソースが見つかりませんエラー

2022-02-18 16:47:46

質問内容

私はASP.Net MVCの全くの初心者です。Visual Studio 2010でMVC3プロジェクトを作成したところです。ビューエンジンはrazorです。 アプリケーションを実行したところ、ブラウザで適切な結果が得られました。URLは http://localhost:4163/ . そこで、ThinkstockのHomeフォルダにあるIndex.cshtmlに「Set as Start Page」を適用しました。すると、アプリケーションを実行したときに、URLが http://localhost:4148/Views/Home/Index.cshtml と表示され、リソースが見つからないと言われました。 どうすればいいのでしょうか?urlマッピングはどこで行われるのですか?

Global.asaxファイルです。

using System.Web.Mvc;
using System.Web.Routing;

namespace TEST
{

public class MvcApplication : System.Web.HttpApplication
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
    }

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );

    }

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();

        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);
    }
    }
 }

解決方法は?

URLマッピングまたはルーティングは、ASP.NET MVCサイトのルートにあるGlobal.asaxによって処理されます。

スタートページに設定]をクリックすると、プロジェクト設定が変更され、アプリケーションルートから相対的にそのファイルを探します。しかし、MVCでは デフォルト インデックスページへのルートは、実際には http://localhost:4163/Home/Index - のような読み方をします。 これ を見れば、ルーティングの仕組みがわかると思います。

ビューに直接移動しようとする(そして失敗する)プロジェクトを修正するには、プロジェクトを右クリックして、["]を選択します。 Properties をクリックし、[quot; Web タブをクリックし、"quot "を選択します。 Specific Page テキストボックスは空白のままです。これでデバッグを開始すると、再びホームページに移動するはずです。Global.asaxのRegisterRoutesメソッドで、デフォルトのルートパラメータを見て、その理由を確認しましょう。