2011-05-06 104 views
1

我需要這條路線在我的ASP MVC應用程序匹配:非法字符%

http://localhost/<itemName>/details 

當項目名稱中包含非法字符,例如%符號,下面的URL將炸燬:

(1) http://localhost/item%25Name/Details 

在這種情況下,正確的網址是:

(2) http://localhost/Details/?item=item%25Name 

是否有可能定義路由在RegisterRoutes中將符合(1)的正常路線與項目名稱中含有%符號的路線匹配到(2)?

在此先感謝

回答

0

這裏是我會建議你:

  1. 這纔是你不必擔心的查詢字符串的一部分一切。沒有必要做任何特殊的路由。
  2. 對於進入URL的路徑部分的所有內容,您都可以過濾危險字符。例如,在StackOverflow上帶有問題標題的Here's how this is done
+0

Upss,對我無效。我需要在服務器端的項目名稱的確切副本。項目名稱實際上是在版本控制系統中進行搜索的文件路徑,因此您可以想象,這必須是確切的。 – 2011-05-06 08:56:51

+0

@DanielPeñalba,那麼恐怕你會很難用這些字符作爲URL路徑的一部分。在這種情況下,可能查詢字符串是要走的路。避免對可以包含這些字符的變量使用url標記,因爲IIS不會給您帶來安寧。 – 2011-05-06 08:58:58

+0

最初的問題是,是否有任何方法來定義匹配到(1)的正常路由和使用非法符號路由到(2)的路由? – 2011-05-06 09:04:37