gpt4 book ai didi

c# - 如何将 'text slug' 添加到 MVC3 中的页面 url?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:28:52 25 4
gpt4 key购买 nike

看看 StackOverflow 做了什么:

http://stackoverflow.com/questions/8933768/c-sharp-boolean-outside-method-wont-read

URL 在没有最终装饰器的情况下工作,主要用于 SEO 目的。

我想要在我的 ASP.Net MVC3 应用程序中使用类似的东西。

假设在 Article 表上我有一个字段 Slug nvarchar(1024) not null,我如何将其推出路由引擎以便在有人访问时显示链接?

希望 ID 是可见的并且即使最后没有 slug 链接也能正常工作。万一我更改了数据库中的 slug,任何链接仍然有效,因为 ID 将是指向该文章的唯一链接。

一个清晰、简短的例子将是非凡的。

最佳答案

执行此操作的最佳方法是让 url 的第二部分,即 slug,就查找的完成方式而言是一个不相关的字段。您的路线定义将是这样的:

routes.MapRoute(
"article"
"articles/{id}/{slug}",
new { controller = "Article", action = "Index", slug = "" }
);

以及匹配的 Action :

public ActionResult Index(int id, string slug) {
var article = _repository.GetById<Article>(id);

......

return View();
}

如果您担心人们会请求具有有效 ID 的无效 slug(以及这可能对 SEO 产生的影响),那么您的 Controller 操作可能会有一个额外的操作来根据文章验证 slug 并执行 301 重定向只要提供了不正确的 slug,就会转到所需的 URL。顺便说一句,这就是 StackOverflow 所做的。如果您修改问题 URL 的标题部分,您将看到该站点将您重定向。

关于c# - 如何将 'text slug' 添加到 MVC3 中的页面 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8933860/

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