gpt4 book ai didi

asp.net-mvc - RouteValueDictionary 被上下文覆盖

转载 作者:行者123 更新时间:2023-12-01 06:49:14 26 4
gpt4 key购买 nike

如果您有路线:

routes.MapRoute("search", "{controller}/{action}/{filter1}/{filter2}/{filter3}", _
New With {.filter1 = "", .filter2 = "", .filter3 = ""})

然后在一个满足路由模式的 View 中,url 为 /member/search/dev/phil/hoy , 当您尝试仅使用 filter1 创建另一个路由 url 时现在,即
<%=Url.RouteUrl(New RouteValueDictionary(
New With {.controller="member",.action="search", .filter1="dev"}))%>

结果是当前路由 /member/search/dev/phil/hoy , 不是预期的修剪路线 /member/search/dev
我已经通过使用 RouteTable.Routes.GetVirtualPath 设法解决了这个问题。方法直接,但有谁知道为什么它以这种方式工作,或者它可能是一个错误?

最佳答案

您可以尝试以下操作,看看它是否有效。

放置这个,

routes.MapRoute("search", "{controller}/{action}/{filter1}/", _
New With {.controller="member",.action="search", .filter1="dev"})

..前,
routes.MapRoute("search", "{controller}/{action}/{filter1}/{filter2}/{filter3}", _
New With {.filter1 = "", .filter2 = "", .filter3 = ""})

特定于泛型。

关于asp.net-mvc - RouteValueDictionary 被上下文覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/316924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com