ASP.Net несколько обновлений UpdatePanel с помощью JavaScript - PullRequest
0 голосов
/ 23 мая 2011

У меня есть GridView и некоторый код jQuery, который позволяет пользователю расширять отдельные строки. При расширении строки я отображаю div, который будет содержать больше информации, относящейся к строке. Внутри div находится ASP.Net UpdatePanel. Я вызываю функцию __doPostBack, передавая идентификатор конкретной панели обновления, которую я хочу обновить.

var updatePanel = $(expandContent).children("div[id$=UpdatePanel1]").attr("id");
__doPostBack(updatePanel, '');

Однако при отладке я замечаю, что метод * UpdatePanel_Load * вызывается для каждой UpdatePanel на странице. Поскольку расширение строки приведет к отключению системы и получению данных, я действительно хочу получить эти данные только для конкретной расширенной строки.

Итак, мой вопрос: кто-нибудь знает, как заставить отдельные UpdatePanels обновлять с помощью JavaScript.

Спасибо Алан.

1 Ответ

0 голосов
/ 23 мая 2011

Если я передам идентификатор UpdatePanel в функцию __doPostBack, например:

var updatePanel = $(expandContent).children("div[id$=UpdatePanel1]").attr("id");
__doPostBack(updatePanel, updatePanel);

В приведенном ниже коде я могу выполнить такой тест, чтобы убедиться, что поиск выполняется только для определенной UpdatePanel:

UpdatePanel panel = sender as UpdatePanel;

// the ClientId of the UpdatePanel being update is passed in
// __EVENTARGUMENT this can be checked against the sender to ensure
// data is retrieved only for the row being expanded. 
string panelID = Request.Params.Get("__EVENTARGUMENT");

if(panel.ClientID.Equals(panelID))
{
    // retrieve data
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...