向 MVC 路由添加冗余信息

2024-04-04

当您遇到这个问题时,您会注意到问题的标题位于地址栏中,以及您单击到达此处的链接。我不确定确切的术语,因此很难搜索,但我该如何做类似的事情?也就是说,如何将数据添加到纯粹用于显示/搜索引擎的地址栏。

Thanks


以 Stack Overflow 问题为例,URL 是:

so.com/questions/1142480/adding-redundant-information-to-a-mvc-route https://stackoverflow.com/questions/1142480/adding-redundant-information-to-a-mvc-route

然而,URL 的功能部分是:

so.com/questions/1142480 https://stackoverflow.com/questions/1142480

实现此目的的方法是定义如下路线:

routes.MapRoute(
    "questions",
    "questions/{id}/{title}",
    new { controller = "Questions", action = "Details", title = "" });

然后您可以像这样创建一个指向它的链接:

<%= Html.RouteLink("Adding Redundant Information to a MVC Route", 
        new 
        { 
            controller = "Questions", 
            id = 1142480, 
            title = "adding-redundant-information-to-a-mvc-route" 
        }
    )
%>

我想 URL 标题是根据实际标题通过小写、用破折号和其他一些内容替换空格(转义/删除坏字符)创建的。

只要您的 SEO 路线出现在任何其他匹配路线之前,就会使用 SEO 路线。

为了完全清楚起见,控制器实际上是这样的:

public class QuestionsController : Controller
{
    public ActionResult Details(int id)
    {
        // stuff for display - notice title is not used
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

向 MVC 路由添加冗余信息 的相关文章

随机推荐

  • AppSync BatchResolver AssumeRole 错误

    我正在尝试使用新的 DynamoDB BatchResolvers 写入 AppSync 解析器中的两个 DynamoDB 表 当前使用 Lambda 函数来执行此操作 但是 在查看 CloudWatch 日志时 我收到以下权限错误 Use
  • Patindex() 函数的用法

    我在用patindex用于 MD 或 DO 的模式搜索 下面的语句返回3 我是否以错误的方式使用它 或者是否有其他检查条件的方法 select PATINDEX MD DO FHoisegh MD select T Value from v
  • angular2 – 通过自定义管道使用全局服务

    我正在玩一点 Angular 2 到目前为止 我构建了一个拥有接口的全局服务 其他组件正在使用这个全局服务的接口 如果通过组件更改界面 则子组件的界面也会更改 现在我正在尝试通过管道来处理这个问题 但是 当我通过子组件更改接口值时 其他组件
  • QSerialPort可以读取超过512字节的数据吗?

    我想使用 QSerialPort 读取从设备传输的数据 设备每次发送一帧4000个数据字节 我尝试使用以下简单的代码 QSerialPort serialPort char receivedData 4000 int numRead 0 M
  • 将响应结果作为数组而不是 Web 服务中的对象获取

    有一个 php 应用程序将从我创建的 Web 服务中读取结果 他们想要的 xml 响应就像
  • 如何在非阻塞套接字上处理 OpenSSL SSL_ERROR_WANT_READ / WANT_WRITE

    OpenSSL 库允许使用 SSL read 从底层套接字读取数据并使用 SSL write 写入数据 这些函数可能会返回 SSL ERROR WANT READ 或 SSL ERROR WANT WRITE 具体取决于它们的 ssl 协议
  • 我在设置 Windows 服务时遇到问题

    我正在尝试设置 Windows 服务 但是当我构建设置时 输出是这样的 Build started Project TwitterService Configuration Debug Any CPU TwitterService gt C
  • 使用 myBatis 从数据库中以 byte[] 的形式获取 blob

    我在一个项目中使用 spring MyBatis 1 2 0 其中有一个查询从 Oracle 11g 数据库中的 BLOB 字段获取数据 我想以字节数组 byte 的形式检索该字段 我的代码是
  • 平均执行时间

    有没有什么好的 GNU 方法来测量某些命令行程序的平均 最坏情况 最好情况 执行时间 我有图像过滤器 未指定数量的图片 使用 bash 中的 for 循环过滤它们 到目前为止我正在使用time 但我找不到如何获取一些统计数据的方法 您可以将
  • 将 XYZ 点云转换为灰度图像

    每个人 我正在尝试使用 python 将点云 X Y Z 转换为灰度图像 我了解到灰度图像可以由 Numpy 数组生成 但我现在拥有的是一组包含 X Y 和高度的点 我想根据 X Y 和灰度值 即高度 生成灰度图像 有人能给我一个关于这个的
  • 我的驱动程序模块的内核输出奇怪的 dmesg

    从我之前的问题为什么模块加载失败 dev scull0 没有这样的设备或地址 https stackoverflow com questions 62019834 why does module failed to load dev scu
  • Flask:为什么 app.route() 装饰器应该总是在最外面?

    说吧 我有一个手工制作的 login required装饰器 from functools import wraps def login required decorated function Decorator to check if u
  • 在 Windows 中将 Boost 与 CMake 和 Visual Studio 链接的正确方法是什么?

    我正在尝试为 Visual Studio 2012 生成一些我需要的 Boost 1 58 库 chrono 正则表达式和线程 并将这些库与 CMake 链接 我在 CMake 和 Visual Studio 查找或链接库时遇到了真正的问题
  • SQLite 参数替换和引号

    我有这条线工作正常 c execute select cleanseq from cleanseqs WHERE newID s name 但我想使用 SQLite 参数替换而不是字符串替换 因为我看到here http docs pyth
  • 在画布上的精确位置创建输入文本字段?

    Canvas 可以绘制文本 但无法创建输入文本字段 这意味着必须在 html 中执行此操作 但是如何才能确保将该文本字段准确定位在您想要的位置呢 我希望能够在运行时以编程方式执行此操作 创建以下 HTML 结构以将输入框放置在画布上 div
  • 判断字符串中的所有字母是否按字母顺序排列 JavaScript

    我正在尝试编写一个 JavaScript 函数来确定字符串中的所有字母是否按字母顺序排列 以下内容将继续返回 SyntaxError 意外的令牌默认值 function orderedWords str var s str toLowerC
  • 在 ASP.NET MVC Web API 服务和 MVC 客户端架构中实现身份验证和基于角色的授权

    在为我的 Web API 服务 MVC 客户端 架构项目实现身份验证 授权场景时 我很难决定一种方法 尽管我已经在 Web API 项目中实现了基于自定义令牌的身份验证 但我发现很难准确地在哪里实现授权 在客户端或 API 本身 架构概述
  • Lambda 不支持 NLTK 文件大小

    我正在编写一个 python 脚本来分析一段文本并以 JSON 格式返回数据 我正在使用 NLTK 来分析数据 基本上 这是我的流程 创建端点 API 网关 gt 调用我的 lambda 函数 gt 返回所需数据的 JSON 我编写了脚本
  • 查找存储为 Ahnentafel 数组的二进制最大堆的最小元素

    我有一个二进制最大堆 顶部的最大元素 我需要通过摆脱smallest每次我达到 20 个元素时 二叉堆存储在一个数组中 节点 i 的子节点为 2 i 和 2 i 1 i 从零开始 在任何时候 堆都有 n elements 个元素 介于 0
  • 向 MVC 路由添加冗余信息

    当您遇到这个问题时 您会注意到问题的标题位于地址栏中 以及您单击到达此处的链接 我不确定确切的术语 因此很难搜索 但我该如何做类似的事情 也就是说 如何将数据添加到纯粹用于显示 搜索引擎的地址栏 Thanks 以 Stack Overflo