Универсальный обработчик не получает полную строку запроса

Я пытаюсь передать некоторые значения с одной страницы .aspx в обработчик (.ashx). Я делал это, используя переменную сеанса, но я понял, что это плохо работает в Firefox и Chrome, и я отказался от этой идеи и решил передавать значения по строке запроса.

Я устанавливаю такой обработчик в функции инициализации uploadify.

'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).

экран печати отладки

Я подумал, что может быть что-то не так с тем, как я объединяю строку, поэтому я провел небольшой тест и изменил его на это:

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

И вот результат:

второй экран печати из отладки

Что я делаю неправильно?

РЕДАКТИРОВАТЬ: добавлена ​​полная строка запроса

введите описание изображения здесь


person seth    schedule 12.08.2011    source источник
comment
Можете ли вы опубликовать URL-адрес, который видит ASP.Net (т.е. context.Request.Url.OriginalString)   -  person Justin    schedule 12.08.2011
comment
Вы использовали Fiddler, чтобы увидеть, что на самом деле отправляется по сети?   -  person AakashM    schedule 12.08.2011
comment
@Kragen: я отредактировал пост и добавил его сейчас. АакашМ: Нет (пока). Отчасти потому, что я никогда не использовал что-то подобное и плохо с этим знаком.   -  person seth    schedule 12.08.2011


Ответы (1)


Просто предложение - попробуйте закодировать строку запроса, как показано ниже.

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

Наверное, это поможет. Если нет, вы всегда можете декодировать его с помощью HttpUtility.UrlDecode и получить коллекцию значений ключа с помощью HttpUtility.ParseQueryString

person Vitaly    schedule 12.08.2011
comment
Да, это решило проблему. Должен ли я кодировать строку? Если да, то как я могу это сделать (я имею в виду не вручную)? - person seth; 12.08.2011
comment
Вы можете использовать кодировку encodeURIComponent () JavaScript, чтобы автоматизировать эту кодировку. - person Dave Ward; 12.08.2011
comment
Спасибо. Мне удалось решить проблему, используя то, что вы предложили. - person seth; 12.08.2011