簡體   English   中英

ASP.NET MVC4路由問題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM