Ajax.RouteLink给出了404

时间:2014-01-16 09:58:11

标签: 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
            {
                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参数时,一切正常,但添加一个额外的参数会使它全部失败。

为什么会这样?

1 个答案:

答案 0 :(得分:0)

以防万一其他人在将来与此斗争,让我告诉你这是什么问题。传递十进制参数是个问题。传递一个int,double或string是好的,但当我把它变成小数时就失败了。