gpt4 book ai didi

asp.net-mvc - 如何获得像 "http://stackoverflow.com/questions/1074/asp-mvc"这样的漂亮 URL

转载 作者:行者123 更新时间:2023-12-01 23:35:28 24 4
gpt4 key购买 nike

谁能帮帮我?我正在 ASP.NET MVC 中做一些测试。

我想将漂亮的 URL 实现为 stackoverflow.com 路由系统。

例如:stackoverflow.com/questions/1074/asp-mvcdomain.com/id/title

这是我的代码:

  1. 在 Global.asax 中
routes.MapRoute(null,
"posts/{PostId}/{Title}",
new { controller = "Posts", action = "Details", post = (string)null },
new { PostId = @"\d+", Title = @"([A-Za-z0-9-]+)" }
);
  1. 在 View 中:
<%= Html.ActionLink(Model.Title, "Details", new { Model.PostID, Model.Title})%>

使用这些代码,我得到了 url:http://localhost:53171/posts/Details?PostID=5&Title=Test-title

可以请教我吗?

非常感谢。

最佳答案

不确定所有 stackoverflow url 的含义,但如果您想要一个干净的 url,例如:

https://stackoverflow.com/Questions/132/thetitle

在您的 Global.asax 中:

    routes.MapRoute("PostController",
"Questions/{post_id}/{post_title}",
new { controller = "Post", action = "Index" },
new { post_id = @"\d+", post_title = @"([A-Za-z0-9-]+)" }
);

在您的 Controller 中检索值:

    public ActionResult Index(Int32 post_Id, String post_title)
{
return View();
}

要生成正确的 url,请使用 Html.RouteLink:

<%= Html.RouteLink("The Title", "PostController", new { post_id = 132, post_title = "thetitle" })%>

关于asp.net-mvc - 如何获得像 "http://stackoverflow.com/questions/1074/asp-mvc"这样的漂亮 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1227348/

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