【发布时间】:2016-07-05 19:28:23
【问题描述】:
我收到以下错误,我的默认路由参数为空。我在 URL 中没有任何参数的控制器操作上使用了相同的代码,并且运行良好。我知道正在调用我的自定义路由,但我不明白为什么 startIndex 和 pageSize 在操作中显示为 null。
错误:
参数字典包含“AEO. WorkOrder.WebUI.Controllers.VendorComplianceController'。可选参数必须是引用类型、可空类型或声明为可选参数。
参数名称:参数
控制器:
public ActionResult ViewVcByStatus(string status, int startIndex, int pageSize) { ... }
路线:
routes.MapRoute("ViewVcByStatus", "ViewVcByStatus/{status}",
new
{
controller = "VendorCompliance",
action = "ViewVcByStatus",
startIndex = 0,
pageSize = WebConfigurationManager.AppSettings["PageSize"],
});
链接:
<a href="VendorCompliance/ViewVcByStatus?status=PROCESSED">
也试过这个产生同样错误的链接:
<a href="VendorCompliance/ViewVcByStatus/PROCESSED">
【问题讨论】:
-
您还有其他可能匹配的路线吗?此外,该网址与您在此处显示的路线不匹配。
-
唯一的其他路由是默认路由。我也尝试了 并收到了相同的结果。
标签: c# asp.net asp.net-mvc