[英]ASP.NET MVC4 routing issue
我已經搜索了Stack多年,閱讀了MSDN文檔並使用了Bing,但是看不出為什么這不起作用! 我有以下相關代碼+路線。 名為Browse
的路由工作正常,但Details
路由的productCode
參數總是等於零。 如果我制作任何mods,我會繼續獲取'找不到資源'404頁面。
' Lives in controller called 'Details'
' Usage: site.com/details/abc123
Function Index(productCode As String) As ActionResult
' Lives in controller called 'Browse'
' Usage: site.com/browse/scifi/2
Function Index(genre As String, Optional page As Integer = 1) As ActionResult
路線是:
routes.MapRoute( _
"Browse", _
"{controller}/{genre}/{page}", _
New With {.controller = "Browse", .action = "Index", .id = UrlParameter.Optional, .page = UrlParameter.Optional}
)
routes.MapRoute( _
"Details", _
"details/{productCode}", _
New With {.controller = "Details", .action = "Info", .productCode = UrlParameter.Optional}
)
訂單在定義路線時很重要。
當您請求site.com/details/abc123
我認為它與您的第一條路線相符。
你會得到
controller = "details"
action = "Index"
genre = "abc123"
這就是您的productCode為空的原因。
切換兩個route.MapRoute
語句,它應該解決你的問題。
你的第二條路線確實將動作設置為info
而不是index
,但我假設這是一個錯字?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.