gpt4 book ai didi

asp.net-mvc - 在 asp.net mvc url 中格式化查询字符串的最佳方法?

转载 作者:行者123 更新时间:2023-12-02 20:00:34 26 4
gpt4 key购买 nike

我注意到,如果您通过 asp.net mvc 发送查询字符串路由值,您最终会将所有空格编码为“%20”。因为我希望将空格转换为“+”号,所以覆盖此格式的最佳方法是什么?

我正在考虑也许使用自定义 Route 对象或派生自 IRouteHandler 的类,但希望您能提供任何建议。

最佳答案

您可以尝试编写自定义路由:

public class CustomRoute : Route
{
public CustomRoute(string url, RouteValueDictionary defaults, IRouteHandler routeHandler)
: base(url, defaults, routeHandler)
{ }

public override VirtualPathData GetVirtualPath(RequestContext requestContext, RouteValueDictionary values)
{
var path = base.GetVirtualPath(requestContext, values);
if (path != null)
{
path.VirtualPath = path.VirtualPath.Replace("%20", "+");
}
return path;
}
}

并像这样注册:

routes.Add(
new CustomRoute(
"{controller}/{action}/{id}",
new RouteValueDictionary(new {
controller = "Home",
action = "Index",
id = UrlParameter.Optional
}),
new MvcRouteHandler()
)
);

关于asp.net-mvc - 在 asp.net mvc url 中格式化查询字符串的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2903325/

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