私は現在このURL "/ Cloud/Hosting/RoaringPenguin/Manage/Exclusions"を生成しようとしています。ここAsp.Net MVC 5エリア下でのカスタムアクションのルーティング
はエリア登録ここで
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Hosting_default",
"Cloud/Hosting/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
iが試みたコントローラ
public class RoaringPenguinController : PortalControllerBase
{
public ActionResult Exclusions()
{
return View("Exclusions");
}
}
私も試みたので
[Route("Manage/Exclusions")]
public ActionResult Exclusions()
様作用自体の上に経路を追加でありますコントローラー自体にいくつかの属性を追加する
[RouteArea("Hosting")]
[RoutePrefix("RoaringPenguin")]
public class RoaringPenguinController : PortalControllerBase
でも、どちらも機能していないようです。すべての属性をオフにしておくと、最終的なURLは「/ Cloud/Hosting/RoaringPenguin/Exclusions」です。 誰も私はどのようにURLの "管理"を得ることができる知っていますか?
はちょうど私がすべてのヘルプは高く評価されRouteConfigクラスroutes.MapMvcAttributeRoutes();
の下で私のRegisterRoutes方法で、次のセットを持って確認します。ありがとう
こんにちはChris、 私は最初の提案(ベースコントローラなし)を試しましたが、取得するのはすべて404エラーです '/'アプリケーションのサーバーエラーです。 リソースが見つかりません。 説明:HTTP 404。探しているリソース(またはその依存関係の1つ)が削除されているか、名前が変更されているか、一時的に利用できない可能性があります。次のURLを確認し、正しく入力されていることを確認してください。 要求されたURL:/ Cloud/Hosting/RoaringPenguin/Manage/Exclusions バージョン情報:Microsoft .NET Frameworkバージョン:4.0.30319; ASP.NETバージョン:4.6.1069.1' – tjackadams
何か別のことが起こっています。エリアが正しく登録されていないか、属性ルーティングが正しく有効になっていないか、別のルートがこれと衝突しています。あなたが投稿したものに基づいて、これはうまくいくはずです。あなたのエリアが実際に 'Hosting'ではなく、' CloudHosting'のようなものであれば、コードに必要な修正を加えなければなりません。 –
あなたは正しいです。 私のエリア登録後、私の属性ルーティングが呼び出されていました。 これは解決策です '//属性ルーティング routes.MapMvcAttributeRoutes(); //エリア登録 AreaRegistration.RegisterAllAreas(); ' 私が最初の解決策を変更した後、どうもありがとう! – tjackadams