2009-11-23 78 views
2

我在這裏有一個特殊情況:
我的操作方法接受一個參數,該參數預計爲完整的url(例如http://www.somesite.com/article/onesite?hello=whatever&etc=blah)。當使用舊的asp.net(哦,對不起,我的意思是網頁表單),這工作得很好,但是當使用asp.net mvc並準備所需的路由時(「/ myaction/{inputUrl」對inputUrl沒有限制)它失敗。如果網址有任何斜槓,我會收到「錯誤的請求」異常。我該怎麼辦?我應該在傳入的url中添加正則表達式約束來匹配網址嗎?你覺得親愛的蘇格斯呢?
查詢字符串與斜槓「/」不在asp.net mvc中工作?

PS:(!即我不能對其進行編碼)的資源將來自一個iPhone應用程序,這意味着,我沒有在未來URL任何控制請求

提前致謝。

+0

您是否在發送之前嘗試使用html.encode查詢字符串? – Razzie 2009-11-23 13:15:11

+1

使用HttpUtility.UrlEncode – 2009-11-23 13:22:28

+0

錯誤,是的我的意思是:) – Razzie 2009-11-23 13:30:11

回答

1

看到這個問題URL-encoded slash in URL

即使UrlEncode在這裏也無濟於事。 MVC2中的行爲發生變化。

+0

我編輯了..請再次檢查! – Galilyou 2009-11-23 14:21:47

0

修改您的路線爲/myaction/{*inputURL*}。這會在我的行動之後抓住所有人。

+0

我已經有一個全面的路線設置爲別的東西。我不能有超過一條全部通路。 – Galilyou 2009-11-24 09:46:29