控制器方法中的MVC3参数

Sac*_*nth 0 c# asp.net-mvc asp.net-mvc-3

我有一个名为AuctionsController的控制器,带有一个方法

public ActionResult BidsByAuction(int auctionId, int page = 1)
Run Code Online (Sandbox Code Playgroud)

当我导航到/Auctions/BidsByAuction/38我时出现以下错误:

参数字典包含非可空类型'System.Int32'的参数'auctionId'的空条目,用于'Extranet.Controllers.AuctionsController'中的方法'System.Web.Mvc.ActionResult BidsByAuction(Int32)'.可选参数必须是引用类型,可空类型,或者声明为可选参数.参数名称:参数

这里出了什么问题?

Eri*_*sch 6

您是否为您的方法创建了一个以AuctionID作为参数的cutom路线?如果不是,则默认情况下,该参数称为"id".

如果你想要auctionid,那么你需要创建一个新的路由,将名称设置为auctionid.

不能完全肯定,这将解决您的问题,因为有可能是可选的参数问题为好,但解决这一问题之一,看看你会得到什么.