如何修改请求验证?

时间:2010-11-02 11:52:40

标签: asp.net request-validation

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

/search/"my query"

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

How to include quote characters as a route parameter? Getting "Illegal characters in path" message

我想实施Scott Hanselman提出的改变

的建议

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

不包括引号字符的值。但这在.net 3.5中似乎没有任何意义。

有人可以指出如何让它发挥作用吗?

1 个答案:

答案 0 :(得分:2)

根据http://forums.asp.net/t/1335994.aspx/1,带有Quote(“或%22)字符的路径无法通过地图路径路由。幸运的是,querystring参数支持引号。

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

或者,如果您真的打算保留地图路径(可能是出于搜索引擎优化的原因),您可以使用类似IIS URL Rewrite扩展名的内容将该路径路由到它的查询字符串对应,而无需用户更明智。