双/不完整参数URL编码

Bor*_*ens 7 c# asp.net-mvc encoding

在我的网络应用程序中,我的参数可以包含各种疯狂的字符(俄语字符,斜杠,空格等),因此不能总是在URL中表示为.
以快乐的方式发送它们将在大约50%的情况下起作用.像空格这样的东西已经在某处编码了(我猜是在Html.BuildUrlFromExpression中).但是其他东西(比如"/"和"*")则没有.

现在我不知道该怎么做了,因为如果我自己编码,我的编码会再次被部分编码并最终出错.如果我不对它们进行编码,则某些字符将无法通过.

我所做的是手动.replace()我遇到问题的角色.
这当然不是一个好主意.

想法?

- 编辑 -
我知道有很多编码/解码库供我使用. 它看起来像mvc框架已经尝试为我做,但不是完全.

<a href="<%=Html.BuildUrlFromExpression<SearchController>(c=>c.Search("", 1, "a \v/&irdStr*ng"))%>" title="my hat's awesome!">
Run Code Online (Sandbox Code Playgroud)

会让我

<a href="/Search.mvc/en/Search/1/a%20%5Cv/&irdStr*ng" title="my hat's awesome!">
Run Code Online (Sandbox Code Playgroud)

注意正斜杠,星号和&符号是如何不被转义的.为什么有些人逃脱而其他人没有逃脱?我怎么能正确地逃脱这个?

我做错了什么还是框架?

Mit*_*ers 0

您是否尝试过使用Server.UrlEncode()编码方法和Server.UrlDecode()解码方法?

我在使用它传递物品时没有遇到任何问题。