UpdatePanel обновление без кнопки запуска - PullRequest
4 голосов
/ 12 января 2011

У меня есть UpdatePanel с указанным ContentTemplate.Когда страница загружается, пользователь может выполнять некоторую работу с AJAX в другой части страницы.Затем, после того, как эта работа будет завершена, я хотел бы обновить только содержимое внутри UpdatePanel, но без нажатия каких-либо кнопок и т. Д. Я должен делать это автоматически, используя JavaScript, когда ранее начатая работа AJAX заканчивается.Как сделать это без ручного нажатия на кнопку триггера?

РЕДАКТИРОВАТЬ:

Хорошо, я следовал этому правилу _doPostBack, и вся страница опубликована.

    <asp:UpdatePanel ID="panelAttachments" runat="server">
        <ContentTemplate>
    ........
        </ContentTemplate>
    </asp:UpdatePanel>
    <input type="text" name="test" onchange="__doPostBack('<%=panelAttachments.UniqueID %>',''); return false;" />
</td>

Спасибо, Павел

1 Ответ

7 голосов
/ 12 января 2011

Чтобы обновить панель обновления из JavaScript:

__doPostBack(updatePanelUniqueID,'');

Первый параметр - это уникальный идентификатор (не CientID) элемента UpdatePanel. 2-й параметр - это необязательные аргументы, которые вы можете передавать и которые будут доступны для кода вашего сервера. Оба хранятся в скрытых полях формы ASP.NET, вы можете получить к ним доступ в коде:

Request.Form["__EVENTTARGET"];
Request.Form["__EVENTARGUMENT"];

Но если вы просто хотите обновить панель и вам не нужно передавать какую-либо дополнительную информацию от клиента, вы можете игнорировать второй аргумент.

Если вы посмотрите на HTML, сгенерированный ASP.NET для асинхронного управления обратной передачей, вы увидите, что это именно так.

...