HTTPContext.request.params和HTTPContext.rerequest.params.get(



我希望有人能帮我解决以下问题,因为我真的很失落。

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

然后,使用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的params中获得字符串,因为它已经被发送(缺少特殊字符+)?

在将参数传递到url&通过上下文获取pamameters后对其进行解码。Request.Params.Get("文件").

您可以使用:

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);

最新更新