控制器方法中的MVC3参数
本文关键字:MVC3 参数 方法 控制器 | 更新日期: 2023-09-27 18:17:21
我有一个名为AuctionsController的控制器,它有一个方法
public ActionResult BidsByAuction(int auctionId, int page = 1)
当我导航到/Auctions/BidsByAuction/38
时,我得到以下错误:
参数字典包含一个非空类型'System '的参数'auctionId'的空条目。Int32' for方法'System.Web.Mvc.ActionResult BidsByAuction(Int32)' in 'Extranet.Controllers.AuctionsController'。可选参数必须是引用类型、可空类型,或者声明为可选参数。参数名称:parameters
这里出了什么问题?
您是否为您的方法创建了一个以AuctionID作为参数的自定义路由?如果没有,则默认为"id"。
如果需要auctionid,则需要新建一条路由,将名称设置为auctionid。
不完全确定这将解决您的问题,因为可选参数也可能有问题,但修复这个,看看您得到什么
"38"对应默认路由最后一个参数{id}
。第二个参数应该是可选的,如果它没有在查询字符串中提供,则不会被考虑。
谢谢大家。男生的错误。你说得对,我应该在控制器方法中使用id作为参数名。这就是为什么我得到这个错误。