異なるコントローラを参照する複数のルートがあり、いくつかのルートが同じパラメータ数を持っています。私のサンプルを見てください複数のルートと無効なデータルート値
routes.MapRoute("AdInfo", "{controller}/{action}/{AdGUID}/{UserID}/{Category}",
new
{
controller = "Home",
action = "DetailAd",
AdGUID = UrlParameter.Optional,
UserID = UrlParameter.Optional,
Category = UrlParameter.Optional
});
routes.MapRoute("PostAd", "{controller}/{action}/{MainCategory}/{SubCategory}/{SubCategoryGUID}",
new
{
controller = "Classified",
action = "Post",
MainCategory = UrlParameter.Optional,
SubCategory = UrlParameter.Optional,
SubCategoryGUID = UrlParameter.Optional
});
ルートAdInfoとPostAdには3つのパラメータがありますが、どちらもコントローラとアクションが異なります。 asp.net mvcが誤って解釈します。コントローラの分類にリンクすると思われるURLをクリックすると、ルートデータ値MainCategory、subcategory、およびsubcategoryGUIDのアクションポストが表示されます。何らかの形で、ルートデータ値はAdGUID、UserID、およびcategoryです。
この問題を解決する方法はありますか?