0

MVC を開始したばかりで、ID をページに渡すことはできますが、2 つのパラメーターでルーティングを機能させることができないようです。誰にも理由はありますか?

これが私のコードです:

グローバル:

 routes.MapRoute(
           "Default", // Route name
           "{controller}/{action}/{id}", // URL with parameters
           new { controller = "Account", action = "Login", id = UrlParameter.Optional } 
       ); 




    routes.MapRoute(
    "EditVoucher",                                              // Route name
    "{controller}/{action}/{id}/{userid}",                           // URL with parameters
    new { controller = "Admin", action = "EditVoucher", id = "", userid = "" }  // Parameter defaults
    );     


**My controller:**  

[HttpGet]
 public ActionResult EditVoucher(int ID, int UserID)
 {
}


**my link:**

 @Html.ActionLink("[Edit]", "EditVoucher", new { Controller = "Admin", id = item.ID, userid = 2 })  



this passes through the values fine but I end up with this sort of URL:

**/Admin/EditVoucher/2?userid=2**

thanks
4

1 に答える 1

3

ActionLinkパラメータを満たすことができる最初のルートを使用します。

最初の(デフォルト)ルートもパラメータを満たしているため、カスタムルートを最初に配置する必要があります。

于 2012-05-04T12:53:13.560 に答える