我需要将请求作为 URL 的一部分提交给我的应用程序,其中包含带引号的字符串,例如
/search/"my query"
如以下问题所述,这会引发错误:
我想实施 Scott Hanselman 的建议来改变
<httpRuntime requestPathInvalidCharacters="<,>,*,%,:,&,\" />
值不包括引号字符。但这在 .net 3.5 中似乎不可用。
有人能指出如何让它工作吗?
我需要将请求作为 URL 的一部分提交给我的应用程序,其中包含带引号的字符串,例如
/search/"my query"
如以下问题所述,这会引发错误:
我想实施 Scott Hanselman 的建议来改变
<httpRuntime requestPathInvalidCharacters="<,>,*,%,:,&,\" />
值不包括引号字符。但这在 .net 3.5 中似乎不可用。
有人能指出如何让它工作吗?
根据http://forums.asp.net/t/1335994.aspx/1,带有引号(" 或 %22)字符的路径不能通过映射路径路由。幸运的是,查询字符串参数中支持引号。
例如/search/"my query"
,您可以使用查询字符串路径而不是使用路径路径导航/search?query="my query"
。
或者,如果您真的打算保留您的地图路径(可能是出于 SEO 原因),您可以使用IIS URL Rewrite扩展之类的东西将该路径路由到其对应的查询字符串,而无需用户变得更聪明。