gpt4 book ai didi

c# - 从 RouteData 生成格式化的友好 URL

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:54 25 4
gpt4 key购买 nike

我正在尝试以编程方式将查询字符串映射到我在 RouteConfig.cs 文件中创建的 SEO 友好路由 URL,但似乎遇到困难。

我的路由配置如下所示:

routes.MapRoute(
name: "ReviewPost",
url: "{year}/{month}/{filename}/",
defaults: new {controller = "ReviewPost", action = "Detail"},
namespaces: new[] {"ApplicationName.Website.Controllers"},
constraints: new {year = @"\d{4}", month = @"\d{2}"}
);

而且我能够像这样检索正确的 RouteData 对象:

string url = "~/ReviewPost/Detail/?year=2015&month=05&filename=review-title";
RouteData routeData = RouteDataUtils.RouteByUrl(myUrl);

但是我很难弄清楚如何生成应该看起来像我的配置中指定的友好 URL (/2015/05/review-title/)。

RouteData 对象是否能够创建上述格式化 URL 的实例,还是我必须自己格式化它?或者 MVC 框架是否有一个使用 RouteData 对象正确格式化 URL 字符串的类?

如有任何帮助,我们将不胜感激。

最佳答案

更新

这样试试:

var urlHelper = new UrlHelper();
var theUrl = urlHelper.RouteUrl(routeData.Values);

原创

尝试这样的事情:

var urlHelper = new UrlHelper();
var theUrl = urlHelper.RouteUrl("ReviewPost",routeData.Values);

请注意,RouteUrl 的第一个参数是您的路线名称——即您如何在 MapRoute 中命名它。

关于c# - 从 RouteData 生成格式化的友好 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30135793/

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