gpt4 book ai didi

c# - 类似于 URL 路由的 StackOverflow

转载 作者:可可西里 更新时间:2023-11-01 08:42:40 26 4
gpt4 key购买 nike

据我了解,StackOverflow 中的问题具有以下格式

http://stackoverflow.com/questions/{question-id}/{slug-made-from-question-title}

所以基本上问题是使用问题 ID 检索的。所以我给 slug 的任何值都是无关紧要的。

首先我想知道这个理解是否错误:)

我有一个网址

http://stackoverflow.com/questions/6291678/convert-input-string-to-a-clean-readable-and-browser-acceptable-route-data

然后我像这样手动更改了 slug。

http://stackoverflow.com/questions/6291678/naveen

但它变成了原来的鼻涕虫。 Firebug 向我展示了更改后的 URL 上的永久重定向 301。如何实现这个功能?

最佳答案

您可以使用自 ASP.NET 4.0 起可用的 Response.RedirectPermanent 执行此操作:

http://msdn.microsoft.com/en-us/library/system.web.httpresponse.redirectpermanent.aspx

protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
string id = RouteData.Values["id"].ToString();
string passedSlug = RouteData.Values["name"].ToString();
//get the original slug from database / dymanic method
string originalSlug = GetSlugFromID(id);

if(!originalSlug.Equals(passedSlug))
{
var url = String.Format("~/test/{0}/{1}", id, originalSlug);
Response.RedirectPermanent(url, true);
}
}
}

在一个不相关的旁注中,我想 Stack Overflow 并没有在数据库中保存 slug。它是从标题 using something like this 动态创建的.我只是更改了我的问题的标题,然后 slug 发生了变化。不必将 slug 存储在数据库中,因为它对标题来说是多余的。

关于c# - 类似于 URL 路由的 StackOverflow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6292205/

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