Обработчики запросов AJAX.NET - установить скрытое поле - PullRequest
2 голосов
/ 05 февраля 2009

Я пытаюсь установить значение элемента управления скрытого поля в обработчике запроса инициализации AJAX. Однако на сервере скрытый элемент управления поля всегда содержит значение для предыдущего постбэка. Я предполагаю, что viewstate готовится / отправляется, прежде чем я задаю скрытое поле в обработчике запроса инициализации Есть ли способ установить скрытое поле таким образом, чтобы оно передавало новое значение через сервер или передавало его на сервер через другой механизм.

Это код, который я использую:

var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(MyPage_initializeRequestHandler);

function MyPage_initializeRequestHandler(sender, args)
{
    var hiddenField1= $get('hiddenField1');

    if (hiddenField1 != null)
    {
        hiddenField1.value = 'test';
    }
}

Большое спасибо.

1 Ответ

2 голосов
/ 05 февраля 2009

Вы используете панели обновления?

Если это так, вам нужно убедиться, что скрытое поле находится внутри обновляемой панели обновлений, в противном случае новое значение не будет отправлено в браузер.

Кроме того, как вы создаете скрытое поле, если оно является частью публикации панели обновления, вы должны использовать ScriptManager.RegisterHiddenField.

НТН в

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...