3

アクションがあります

public virtual ActionResult Show(string userId)

public virtual ActionResult Show(int groupId)

Global.asaxで私は持っています

routes.MapRoute(
                "Group_Default",
                "{controller}/{action}/{groupId}",
                MVC.Groups.Show()
            );

            routes.MapRoute(
                "UserProfile_Default",
                "{controller}/{action}/{userId}",
                MVC.Profile.Show()
            );

今私がそれを要求するときgroup/show/...それはうまく働きます。しかし、私が呼び出すとき、Profile/Show/...パラメータはnullです。しかし、削除するUserProfile_Defaultと両方とも機能しますが、プロファイルURLにはパラメーターの疑問符が含まれています(そして私はそれを次のようにきれいにしたいです.../profile/show/5678

4

1 に答える 1

3

代わりにこれらを試してください:

routes.MapRoute(
    "Group_Default",
    "Group/{action}/{groupId}",
    new { controller = "Group" }
);

routes.MapRoute(
    "UserProfile_Default",
    "Profile/{action}/{userId}",
    new { controller = "Profile" }
);

将来の参考のために、ルートデバッガーは、ルーティングで何が起こっているのか、どのURLがどのアクションにヒットしているのかを正確に確認するための非常に優れたツールです:http://haacked.com/archive/2008/03/13/url-routing-debugger .aspx

于 2012-04-20T20:47:54.290 に答える