我收到以下錯誤,我的默認路由參數爲空。我在Controller中使用了相同的代碼,該代碼在URL中沒有任何參數,並且工作正常。我知道我的自定義路由被調用,但我不明白爲什麼startIndex和pageSize在操作中顯示爲null。MVC路由參數爲空
錯誤:
The parameters dictionary contains a null entry for parameter 'startIndex' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult ViewVcByStatus(System.String, Int32, Int32)' in 'AEO.WorkOrder.WebUI.Controllers.VendorComplianceController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter.
Parameter name: parameters
控制器:
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">
你有其他可能匹配的路線嗎?此外,該網址與您在此處顯示的路線不符。 – DavidG
唯一的其他路線是默認路線。我也嘗試過並獲得了相同的結果。 –