2013-08-29 3 views
0

У нас есть DropDownList внутри UpdatePanel, для свойства autopostback которого установлено значение true. Мы сохранили инструкцию в триггерах, что Postback представляет собой асинхронную обратную передачу, и у нас есть обработчик выпадающего списка в нашем коде.DropDownList SelectedIndexChanged событие не срабатывает на некоторых машинах

Существует особая проблема, что событие не запускается на некоторых машинах. Мы также включили InitializeRequest, и там мы проверили с идентификатором, на котором произошла обратная связь. Он показывал пустой на одной машине, и то же самое работает на другой машине без каких-либо проблем.

Является ли эта проблема проблемой браузера или любой другой проблемой? Мы не можем знать, почему такая проблема возникает, когда один и тот же кусок кода работает на некоторых машинах.

<asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional"> 
<Triggers> 
<asp:AsyncPostBackTrigger ControlID="DropDown1" EventName="SelectedIndexChanged" /> 
</Triggers> 
<ContentTemplate> 
<asp:DropDownList ID=" DropDown1" runat="server" AutoPostBack="true"> </asp:DropDownList> 
</ContentTemplate> 
</asp:UpdatePanel> 

Private Sub DropDown1_SelectedIndexChanged(default args)Handles DropDown1.SelectedIndexChanged End Sub function InitializeRequest(sender,args){ 
if (args.get_postBackElement().id == '<%= DropDown1.ClientID %>'){ } 
} 
+0

Показать Ваш код. –

+0

ASPX <жерех: UpdatePanel Runat = "сервер" ID = "UpdatePanel1" UpdateMode = "Условный"> <жерех: AsyncPostBackTrigger ControlID = "DropDown1" EventName = "SelectedIndexChanged" /> Код Private Sub DropDown1_SelectedIndexChanged (отправитель как объект, e As System.EventArgs) Обрабатывает DropDown1.SelectedIndexChanged End Sub – Phani

+0

<жерех: DropDownList ID = "DropDown1" Runat = "сервер" AutoPostBack = "истина"> Private Sub DropDown1_SelectedIndexChanged (по умолчанию арг) Ручки DropDown1.SelectedIndexChanged End Sub функция InitializeRequest (отправитель, арг) { если (args.get_postBackElement(). идентификатор == '<% = DropDown1.ClientID%>') { }} – Phani

ответ

0

Вам не нужен AsyncPostBackTrigger для элементов управления внутри панели обновления. Элементы управления, объявленные внутри панели обновления, будут инициировать асинхронный вызов по умолчанию. Удалить эту строку:

<asp:AsyncPostBackTrigger ControlID="DropDown1" EventName="SelectedIndexChanged" /> 

Для лучшего понимания я предлагаю читать AsyncPostBackTrigger vs PostBackTrigger и What is the different between AsyncPostBackTrigger & PostBackTrigger really?.

+0

Проблема решена. Файл решения поврежден, из-за чего он ведет себя таким образом. Я согласен, что указанная строка не требуется писать. Спасибо за предложение, но даже если мы сохраним эту строку, проблем нет. – Phani

Смежные вопросы