【问题标题】:MVC3: underscores and spaces are stripped from urlMVC3:下划线和空格从 url 中删除
【发布时间】:2012-04-17 13:51:51
【问题描述】:

我的 MVC 3 应用程序有问题... 如果我有这样的链接:

http://localhost:15838/ByBU/OpenTask/Details/Excess_Casualty/Index_Clear

这个url的路由是:

routes.MapRoute(
            "OpenTaskDetails",
            "{controller}/OpenTask/{action}/{BU}/{SLAName}",
            new { controller = "ByBU", action= "Details", BU = "BU", SLAName = "SLAName" },
            new [] { "SLA.Controllers" }
            );

当我在“详细信息”操作的第一行设置断点时,变量 BUSLAName 是:Excess(而不是 Excess_Casualty)和 Index(而不是 Index_Clear)。

它之前工作正常,然后突然停止工作,我不知道为什么会这样。有什么想法吗?

【问题讨论】:

  • 您是否进行了任何可能导致此问题的更改?
  • 我个人不这么认为。我正在开发一个单独的控制器,然后当我进行一些 QA 时发生了这种情况。
  • @BeenishKhan 整个事情还是只是一个特定的部分?
  • 1) 您的完整 web.config,只想查看所有设置。 2)您的 Globa.ascx 函数具有路由信息

标签: c# asp.net-mvc-3 url asp.net-mvc-routing


【解决方案1】:

从不建议 URL 使用下划线,因此您可能需要切换到破折号:

http://www.mattcutts.com/blog/dashes-vs-underscores/

“Google 将破折号视为单词分隔符,而下划线被视为单词的一部分。”

【讨论】:

  • 这解决了这个问题。我将下划线更改为破折号并且工作正常。
猜你喜欢
  • 2017-03-17
  • 1970-01-01
  • 2019-11-25
  • 2011-04-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-10
相关资源
最近更新 更多