asp.net-mvc - URL 中的 ASP.NET MVC 冒号

标签 asp.net-mvc url routing colon

我已经看到 IIS 在让冒号进入 URL 方面存在问题。我也看到了其他人提供的建议here .

对于我正在开发的网站,我希望能够将电影、书籍等的标题传递到我的 URL 中,包括冒号,如下所示:

mysite.com/Movie/Bob:The Return

这将被我的 MovieController 使用,例如,作为字符串并在后面使用。

我意识到冒号并不理想。有没有人有任何其他建议?尽管目前很糟糕,但我正在从所有冒号 (:) 到另一个字符进行查找和替换,然后当我想在 Controller 端使用它时进行反向替换。

最佳答案

我通过将其添加到我的 web.config 解决了这个问题:

<httpRuntime requestPathInvalidCharacters=""/>

这必须在 system.web 部分中。

默认值为:
<httpRuntime requestPathInvalidCharacters="&lt;,&gt;,*,%,&amp;,:,\,?"/>

所以只为冒号做一个异常(exception),它会变成
<httpRuntime requestPathInvalidCharacters="&lt;,&gt;,*,%,&amp;,\,?"/>

阅读更多:http://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.requestpathinvalidcharacters.aspx

据我了解,冒号字符作为 URL 中的未编码字符是可以接受的。我不知道他们为什么将它添加到 requestPathInvalidCharacters 的默认值中。

关于asp.net-mvc - URL 中的 ASP.NET MVC 冒号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4694760/

相关文章:

asp.net - 您如何根据用户的 ASP.NET 身份角色完全隐藏用户的元素?

url - 使用 Nightwatch.js 对 100 个 URL 运行相同的测试

windows - 路由来自特定应用程序的流量

c# - 在 C# .NET 应用程序的整个生命周期中使用 DecisionTree

c# - 如何将 IdentityServer4 身份映射到任何 WebApp(.Net MVC 样板、.Net Core 样板)

java - 如何在 AWS Lambda 函数中获取 AWS API Gateway 调用 URL?

javascript - 使用 JQuery Linkify 插件时,如何 chop url?

windows - 有没有一种简单的方法可以将 IP 数据包从用户空间 Windows 应用程序路由到网络?

c# - 在 Webforms 中使用 URL 路由生成 URL

sql-server - LINQ 对于巨大的数据库表来说太慢了