デフォルトのルートオブジェクトをエリア(「ベヒア」とも呼ばれます)内のコントローラ(「ベヒア」)に設定しました。このようMVC3のエリアへのデフォルトルートがエリア内のビューを検索しない
:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Beheer", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
それは、そのコントローラとエリア内のアクションの罰金を見つけることができますが、それだけでこれらの場所に見えるので、それはビューを見つけることができません。
~/Views/Beheer/Index.aspx
~/Views/Beheer/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
~/Views/Beheer/Index.cshtml
~/Views/Beheer/Index.vbhtml
~/Views/Shared/Index.cshtml
~/Views/Shared/Index.vbhtml
ながらこの場所で探しているはずです:
~/Beheer/Views/Beheer/Index.aspx
ビューを検索するにはどうすればいいですかえ?
私はすでに試した:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { area = "Beheer", controller = "Beheer", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
そして、私は(名前空間で)これを試してみました:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Beheer", action = "Index", id = UrlParameter.Optional }, // Parameter defaults
new[] { "Areas.Beheer" }
);
しかし、何も変化します。正しいコントローラーに正しいアクションが入力されますが、ビューは見つかりません。
これは既にBeheerAreaRegistrationにあります。私はここで何かを変えるべきですか? – David
あなたのルートがエリア登録に設定されていて、あなたのビューがエリア/ビアーズ/ビュー/ビハールにある場合/それは動作するはずです –
ありがとうございます。 MapRouteメソッドの私のURLは異なって書かれています。この "Beheer/{controller}/{action}/{id}"のように。これはデフォルトで行われました。私は他のすべてがまだ動作しているかどうかを確認する必要があります。私がページに直接行くと、URLが変わります。私はそれが '〜/ beheer/{method} 'であることを望んでいましたが、今は'〜/ {method} 'です。どうすればそのURLを取得できますか? – David