0

ルートの処理方法を変更したい場合は、MVC プロジェクトでそれを行うことができますか、それともMVC フレームワークを変更する必要がありますか?

たとえば、Global.asax.cs のRegisterRoutesに標準コードがあるとします。

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 = "" }  // Parameter defaults
    );

}

しかし、あなたが本当にやりたいことは、カスタムクラスがすべての受信リクエストをインターセプトし、それらを特別な方法でルーティングすることだとしましょう。これは、MVC フレームワーク クラスから継承してからカスタマイズすることで実現できますか、それともフレームワーク コードを実際に変更する必要がありますか?

4

1 に答える 1

5

拡張するには、カスタムRouteHandlerを作成する必要があります。

見る:

ASP.NET MVC、URL構造の操作

カスタムRouteHandlerの開発

またはウェブ上の他の惑星。

編集:

RouteBaseを拡張してルートに追加することで、さらに多くのことができます。

routes.Add("CoolRouter", new CoolRouter());
于 2009-07-20T15:26:53.430 に答える