2010-11-02 61 views
1

我需要请求提交到我的应用程序的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中似乎不可用。

难道有人指出如何让这个工作?

回答

2

根据http://forums.asp.net/t/1335994.aspx/1,用引号(”或%22)字符路径不能经由地图路径路由。幸运的是,引号在查询字符串参数的支持。

例如,代替使用路由路径导航/search/"my query",你可以到那里使用查询字符串路径/search?query="my query"

或者,如果你真的在让您的地图路径(也许对SEO原因)设置,您可以使用类似IIS URL Rewrite扩展路由到它这条道路的的QueryString没有用户的对手永远不会明智。