2010-11-02 99 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沒有用戶的對手永遠不會明智。