Asp.net mvc 5 RouteLink给出了一个404

Asp.net mvc 5 RouteLink给出了一个404,asp.net-mvc-5,asp.net-mvc-ajax,actionmethod,Asp.net Mvc 5,Asp.net Mvc Ajax,Actionmethod,我有这个链接 @Ajax.RouteLink("Bid", RouteNames.Ajax.BidOnLot, new { lotId = Model.Lot.Id, bidAmount = Model.NextBidAmountForUser }, new AjaxOptions {

我有这个链接

@Ajax.RouteLink("Bid", RouteNames.Ajax.BidOnLot,
            new
            {
                lotId = Model.Lot.Id,
                bidAmount = Model.NextBidAmountForUser
            },
            new AjaxOptions
            {
                HttpMethod = "POST",
                OnFailure = "OnFailure",
                OnSuccess = "OnSuccess"
            })
这个动作方法呢

[AjaxOnly, HttpPost]
        [Route("ajax/bid-on-lot/{lotId}/{bidAmount}", Name = RouteNames.Ajax.BidOnLot)]
        [Authorize]
        public JsonResult Bid(string lotId, decimal bidAmount)
RouteNames.Ajax.BidOnLot设置为BidOnLot

但由于某种原因,当我点击链接时,我得到了一个404与此消息

404 Not Found - http://localhost:12472/ajax/bid-on-lot/lot-901/210.0
当我只有LotId参数时,一切都正常工作,但是添加一个额外的参数会使一切都失败


为什么会这样

以防万一将来还有其他人为此而挣扎,让我告诉你问题是什么。传递十进制参数是个问题。传递int、double或string是可以的,但当我将其设置为十进制时失败了