UpdatePanel с GridView с LinkButton с изображением вызывает полную обратную передачу - PullRequest
1 голос
/ 21 апреля 2010

Так что это может быть довольно специфическая проблема, но я решил опубликовать ее, поскольку потратил часы на борьбу с ней, прежде чем смог определить причину.GridView У меня есть LinkButton с изображением внутри него.Обычно я делаю это, когда у меня есть изображение с текстом рядом с ним, но на этот раз, по любой причине, у меня просто есть изображение.Это заставляет UpdatePanel всегда выполнять полную обратную передачу.

Ответы [ 3 ]

2 голосов
/ 17 апреля 2012

Вместо изменения разметки вы можете перейти в web.config и указать ClientIDMode = "Auto" в теге pages.

Причина, по которой UpdatePanel ведет себя так, потому что генерируется ClientIDMode, будет слишком длинной для регистрации UpdatePanel. Таким образом, ClientID был усечен посередине, и такой элемент управления будет рассматриваться как незарегистрированный элемент управления.

Для получения дополнительной информации прочитайте следующее: http://msdn.microsoft.com/en-us/library/system.web.ui.control.clientidmode.aspx

1 голос
/ 23 декабря 2015

Вышеупомянутые решения также работают, но есть еще одна вещь, которую нужно проверить. Проверьте тег формы для вашей страницы. Если атрибут id отсутствует, вы получите ту же проблему.

Если вы сформируете тег, как указано ниже (без идентификатора), вы получите ошибку:

<form runat="server">
    <!-- your page markup -->
</form>

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

<form id="form1" runat="server">
    <!-- your page markup -->
</form>

Вам не нужно обновлять ClientIDMode в web.config или на странице или в элементе управления. Вам не нужно менять кнопку ссылки в разметке. Вам не нужно регистрировать элемент управления для асинхронной обратной передачи из кода позади.

1 голос
/ 21 апреля 2010

Измените LinkButton на ImageButton, и проблема будет решена.

<asp:ImageButton ImageUrl="/images/icons/trashcan.png" Style="border: none;" CommandName="Select" runat="server" />
...