0

我希望有人可以帮助我解决以下问题,因为我真的迷路了。

HttpContext从 ajax javascript 调用中得到一个 C# 到 C# 处理程序。

然后,使用 VS 运行调试模式,我可以看到context.Request.Params返回以下字符串:

id_affaire=225&Files=%3bT.00000.11-EXE-01-R+1-PL-202-B.dwg%3bT.00000.11-EXE-01-R+1-PL-202-B.dwg&table_colonne=Flexigrid_PanierBordereau&page=1&rp=10&sortname=nom&sortorder=asc&query=&qtype=&ASP.NET_SessionId=o314eh2yjush1pxno2geu42....

但这样做:context.Request.Params.Get("Files")我得到以下字符串

;T.00000.11-EXE-01-R 1-PL-202-B.dwg;T.00000.11-EXE-01-R 1-PL-202-B.dwg

问题是角色+消失了……

 ;T.00000.11-EXE-01-R 1-PL-202-B.dwg;T.00000.11-EXE-01-R 1-PL-202-B.dwg

我应该在参数中获取文件的全名,并且+应该在 R+1 字符串中,如下所示:

;T.00000.11-EXE-01-R+1-PL-202-B.dwg;T.00000.11-EXE-01-R+1-PL-202-B.dwg

任何人都可以帮助我在 httpContext 的参数中包含已发送的字符串(缺少特殊字符+)?

4

1 回答 1

0

在将参数传递给 url 之前对参数进行编码,并在通过 context.Request.Params.Get("Files") 获取参数后对参数进行解码。

您可以使用:

HttpServerUtility.UrlDecode Method (String)
HttpServerUtility.UrlEncode Method (String)

例如。:

编码

String MyURL;
MyURL = "http://www.contoso.com/articles.aspx?title=" + Server.UrlEncode("ASP.NET Examples");

解码

String DecodedString = Server.UrlDecode(EncodedString);
于 2012-09-25T10:09:04.267 回答