У меня есть кнопка, сидящая внутри элемента управления внутри панели обновления, которая не отправляется обратно на сервер, и я не могу понять, почему.Отправить сообщение с помощью кнопки в элементе управления пользователя на панели обновления
Кнопка просто нормальный жерех: кнопка:
<asp:Button ID="btnContinue" runat="server" CssClass="close-reveal-modal button-primary" Text="Continue"></asp:Button>
зарегистрировать свой клик событие при загрузке пользовательского элемента управления:
btnContinue.Click += new EventHandler(btnContinue_Click);
управление, содержащие кнопки является BestAvailable контроля над эту страницу в этой обновленной паспорте:
<asp:UpdatePanel runat="server" ID="updatePnlBestAvailable" class="best-available" ChildrenAsTriggers="true">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnReserve" EventName="Click" />
</Triggers>
<ContentTemplate>
<uc:BestAvailable runat="server" ID="BestAvailableControl"></uc:BestAvailable>
<div id="bestAvailablePanelControls">
<asp:Button runat="server" Style="display: none;" ID="ChangeButton"
OnClick="Change_Click" ClientIDMode="static"
CssClass="ChangeButton" />
</div>
</ContentTemplate>
</asp:UpdatePanel>
Отказ на кнопке не является ок. вообще-то, у меня есть точка останова на первой строке в обработчике событий кликов, и она никогда не попадает. По словам моих сотрудников, это происходит потому, что кнопка находится в вышеупомянутой панели обновления. Я пробовал несколько вещей, чтобы решить эту проблему без успеха.
Я попытался добавить идентификатор кнопки и PostBackTrigger моей панели обновления, как это с с в пользовательский элемент управления и содержащий управление:
UpdatePanelControlTrigger trigger = new PostBackTrigger(); trigger.ControlID = this.BestAvailableControl.btnContinue.UniqueID; updatePnlBestAvailable.Triggers.Add(trigger);
Результат был исключением говоря
A control with ID '<unique id prefix>$btnContinue' could not be found for the trigger in UpdatePanel 'updatePnlBestAvailable'.
я попытался зарегистрировать контроль непосредственно в отметке с тем же результатом.Я пробовал обернуть кнопку в своей собственной панели обновления после этого сообщения: Custom User Control in UpdatePanel forcing Postback. Это не имело никакого отношения к поведению, которое я мог видеть.
Я не очень хорошо знаком с панелями обновлений, поэтому у меня заканчиваются идеи. Кто-нибудь знает, почему моя кнопка не отправляется обратно на сервер?