我正在尝试在 ASP.NET Web 应用程序中捕获多个可选参数。当我定义MapRoute
in 时RegisterArea()
,它破坏了Html.ActionLink()
方法。
以下代码有效:
Public Overrides Sub RegisterArea(ByVal context As System.Web.Mvc.AreaRegistrationContext)
context.MapRoute( _
"Register_default", _
"Register/{controller}/{action}/{id1}", _
New With {.controller = "Home", .action = "Index", .id1 = UrlParameter.Optional} _
)
End Sub
但是当我修改 URL 以包含多个可选参数(如下)时,它导致我的所有Html.ActionLink()
方法都创建带有空 href 的锚标记。有人能告诉我是什么导致这种情况发生吗?
Public Overrides Sub RegisterArea(ByVal context As System.Web.Mvc.AreaRegistrationContext)
context.MapRoute( _
"Register_default", _
"Register/{controller}/{action}/{id1}/{id2}/{id3}/{id4}", _
New With {.controller = "Home", .action = "Index", .id1 = UrlParameter.Optional, .id2 = UrlParameter.Optional, .id3 = UrlParameter.Optional, .id4 = UrlParameter.Optional} _
)
End Sub