在我的網絡應用程序中,我的參數可以包含各種瘋狂的字符(俄語字符,斜線,空格等),因此不能總是在URL中表示爲。
發送他們的快樂方式將在大約50%的情況下工作。有些東西像空格已經編碼在某處(我在Html.BuildUrlFromExpression中猜測)。其他東西雖然(如「/」和「*」)不是。Double/incomplete參數網址編碼
現在我不知道該怎麼做了,因爲如果我自己對它們進行編碼,我的編碼會再次進行部分編碼,並最終出錯。如果我不編碼它們,一些字符將無法通過。
我所做的是手動.replace()我遇到的問題。
這當然不是一個好主意。
想法?
- 編輯 -
我知道在我手上有編碼/解碼庫,衆說紛紜。 它看起來像mvc框架已經試圖爲我做,但不完全。
<a href="<%=Html.BuildUrlFromExpression<SearchController>(c=>c.Search("", 1, "a \v/&irdStr*ng"))%>" title="my hat's awesome!">
會使我
<a href="/Search.mvc/en/Search/1/a%20%5Cv/&irdStr*ng" title="my hat's awesome!">
注意如何正斜槓,星號和符號都沒有逃過。 爲什麼有些人會逃跑而其他人不會呢?我現在怎樣才能正確地逃避這一切?
我做錯了什麼或者它是框架?
感謝您的反饋。請參閱我的原始帖子,瞭解我所做的修改。我想我的問題還不夠清楚。 – 2008-10-27 16:05:40