创建类似于 Stack Overflow 的“此问题的简短永久链接”的简短永久链接
Posted
技术标签:
【中文标题】创建类似于 Stack Overflow 的“此问题的简短永久链接”的简短永久链接【英文标题】:Create short permalinks similar to Stack Overflow's "short permalink to this question" 【发布时间】:2011-05-02 03:57:27 【问题描述】:我想我可能已经了解它的工作原理,但想确定一下。
我正在为新的 ASP.NET MVC 应用程序定义路由。我想创建类似于 Stack Overflow 的 此问题的短永久链接的短永久链接:
Create short permalinks similar to Stack Overflow's "short permalink to this question"
Stack Overflow 使用什么路由和控制器机制来实现这种永久链接行为?
讨论 Stack Overflow 问题路线的其他问题:
How can I create a friendly URL in ASP.NET MVC? How do you include a webpage title as part of a webpage URL? Creating search engine friendly URL's in ASP.NET MVC【问题讨论】:
是的,基本上就是这样。此外,这并不是以问答形式提出的——您应该用上面的一些文字来回答您的问题。 @Jeff 同意问题格式。我会围绕一个答案重新设计它。感谢您的观看! @Jeff 分成问题和答案。再次感谢您的确认。 【参考方案1】:我相信 Stack Overflow 路由的设置类似于以下内容:
routes.MapRoute("question-permalink", "q/questionId/userId",
new controller = "PermaLinkController",
action = "Question", userId = UrlParameter.Optional ,
new questionId = "[0-9]+", userId = "[0-9]+" );
基于指向问题当前位置的302 Found
:我假设 PermaLink 控制器的问题操作如下所示:
public class PermaLinkController : Controller
public Question (int questionId, int? userId)
// do work to record userId that shared link
// ...
// now redirect
Response.RedirectToRoute("question", new questionId = questionId );
【讨论】:
这个答案是从上述问题的原始版本中提取的。根据 Jeff 对该问题的评论,它被标记为答案。以上是关于创建类似于 Stack Overflow 的“此问题的简短永久链接”的简短永久链接的主要内容,如果未能解决你的问题,请参考以下文章
Stack Overflow 功能操作方法:从用户的个人资料页面创建指向用户在 OP 的 questⅰon 上的答案的链接
如何在表单中实现类似 Stack Overflow 的水印?