通用处理程序未收到完整查询字符串

时间:2011-08-12 16:18:38

标签: asp.net handler uploadify

我正在尝试将一些.aspx页面中的某些值传递给处理程序(.ashx)。 我是通过使用会话变量来做到这一点但我开始意识到这在Firefox和Chrome上运行很糟糕,我放弃了这个想法并决定通过查询字符串传递值。

我在uploadify init函数上设置这样的处理程序。

'uploader'  : 'js/uploadify.swf',
'script'    : 'UploadVarios.ashx?util_Id=' + $('#<%= util_Id.ClientID %>').val() + '&util_NomeColaborador=' + $('#<%= util_NomeColaborador.ClientID %>').val() + '&util_IdPosto=' + $('#<%= util_IdPosto.ClientID %>').val() + '&ValueEstadoUploadVarios=' + $('#<%= ValueEstadoUploadVarios.ClientID %>').val() ,
'cancelImg' : 'js/cancel.png',
...

但是,当我尝试访问处理程序上的查询字符串时,只有第一个参数可用(在本例中为util_Id)。

debug print screen

我认为我连接字符串的方式可能有问题所以我做了一点测试并将其更改为:

'uploader'  : 'js/uploadify.swf',
'script'    : 'UploadVarios.ashx?id1=0&id2=0',
'cancelImg' : 'js/cancel.png',
...

结果如下:

second print screen from debug

我做错了什么?

编辑:添加了完整的查询字符串

enter image description here

1 个答案:

答案 0 :(得分:3)

只是一个建议 - 尝试对您的查询字符串进行编码,如下所示。

'uploader'  : 'js/uploadify.swf',
'script'    : 'UploadVarios.ashx%3fid1%3d0%26id2%3d0',
'cancelImg' : 'js/cancel.png',

可能那就是诀窍。如果没有,您可以随时使用HttpUtility.UrlDecode对其进行解码,并使用HttpUtility.ParseQueryString

获取键值集合