Установка asp.net HiddenField из обратного вызова JavaScript

Поэтому я использую замечательный плагин jquery -- загрузка jQuery Ajax

и после загрузки файла запускается этот код:

// Called when upload completed successfully (puts success details into hidden fields)
upload_success_handler: function(file, response) {
    $("input[name$=_filename]", container).val(file.name);
    $("input[name$=_guid]", container).val(response);
    $("#<%=hdnFileName.ClientID %>", container).val(response);
    //I TRIED SETTING THE ACTUAL CLIENT ID, BUT STILL NO
    $("ctl00$MainContent$hdnFileName", container).val(response);
    $("ctl00_MainContent_hdnFileName", container).val(response);        
    $("span[id$=_completedMessage]", container).html("Uploaded <b>{0}</b> ({1} KB)"
                .replace("{0}", file.name)
                .replace("{1}", Math.round(file.size / 1024))
            );
    width = 0;
},

Ответ приходит от обработчика HTTP, который сохраняет файл, а затем отправляет его на flickr, и ответ представляет собой идентификатор фотографии. Все это отлично работает, но я не могу заставить свой asp.net HiddenField получить значение ответа.

Кто-нибудь знает, как это понять?

Похоже, что значения скрытого поля, отличного от asp.net, получают ответ, поэтому я предполагаю, что просто неправильно устанавливаю имя элемента управления.

Спасибо, ребята!


person Jack Marchetti    schedule 24.11.2009    source источник


Ответы (1)


$("ctl00_MainContent_hdnFileName", container).val(response)

должно быть (примечание #)

$("#ctl00_MainContent_hdnFileName", container).val(response)

Это выражение должно устанавливать значение для скрытого ввода на стороне клиента, но я не понял, что на самом деле означает «я не могу заставить свой asp.net HiddenField получить значение»?

person Roman    schedule 24.11.2009
comment
Просто плохо выразился с моей стороны. В основном мне удалось установить обычные скрытые поля, но не скрытые поля asp.net. я попробую ваше дополнение # - person Jack Marchetti; 25.11.2009
comment
Между обычными и скрытыми полями asp.net нет существенной разницы. Скрытое поле Asp.net имеет соответствующий элемент управления на стороне сервера, который получает значение, когда происходит PostBack, поэтому я до сих пор не понимаю, почему у вас возникают некоторые проблемы со скрытым полем asp.net. Попробуйте предоставить больше информации. - person Roman; 26.11.2009