私の MVC 4 アプリケーションでは、Area を使用しました。これが私のルートです。
context.MapRoute(
                "Service_AcceptBid",
                "Service/{controller}/{action}/{id}/{accept}",
                new { area = "Service", controller = "Project", action = "AcceptBid", id = UrlParameter.Optional, accept = UrlParameter.Optional }
            );
context.MapRoute(
                "Service_BidNegotiation",
                "Service/{controller}/{action}/{id}/{bid}",
                new { area = "Service", controller = "Project", action = "Negotiations", id = UrlParameter.Optional, bid = UrlParameter.Optional }
            );
これらのリンクを .cshtml ページに配置しました。
<div dir="ltr">
       @Html.RouteLink("Accept", "Service_AcceptBid", new { controller = "Project", action = "AcceptBid", Id = item.ProjectId, Accept = item.Id })
       @Html.RouteLink("Negotiate", "Service_BidNegotiation", new { controller = "Project", action = "Negotiations", Id = item.ProjectId, Bid = item.Id })
</div>
最初のリンクがクリックされると、AcceptBidコントローラーが呼び出され、そのパラメーター (Id、Accept) が url 値に設定されます。しかし、2 番目のリンクをクリックすると、コントローラー メソッドの Id パラメーターが設定されましたが、2 番目のパラメーター (Bid) は null です。
なぜこれが起こるのですか?
この問題を解決するにはどうすればよいですか?
ありがとう。