1

我需要将请求作为 URL 的一部分提交给我的应用程序,其中包含带引号的字符串,例如

/search/"my query"

如以下问题所述,这会引发错误:

如何包含引号字符作为路由参数?收到“路径中的非法字符”消息

我想实施 Scott Hanselman 的建议来改变

<httpRuntime requestPathInvalidCharacters="&lt;,&gt;,*,%,:,&amp;,\" />

值不包括引号字符。但这在 .net 3.5 中似乎不可用。

有人能指出如何让它工作吗?

4

1 回答 1

2

根据http://forums.asp.net/t/1335994.aspx/1,带有引号(" 或 %22)字符的路径不能通过映射路径路由。幸运的是,查询字符串参数中支持引号。

例如/search/"my query",您可以使用查询字符串路径而不是使用路径路径导航/search?query="my query"

或者,如果您真的打算保留您的地图路径(可能是出于 SEO 原因),您可以使用IIS URL Rewrite扩展之类的东西将该路径路由到其对应的查询字符串,而无需用户变得更聪明。

于 2012-12-11T08:30:43.370 回答