2013-08-29 157 views
0

在UpdatePanel內有一個DropDownList,它的autopostback屬性設置爲true。我們在觸發器中保留了Postback是異步回發的語句,我們在後面的代碼中有下拉處理程序。DropDownList SelectedIndexChanged事件在某些機器中未觸發

有一個奇怪的問題,事件不會在某些機器上被解僱。我們還包含了InitializeRequest,並在那裏檢查了回發發生的ID。它在一臺機器上顯示爲空,而在另一臺機器上工作則沒有任何問題。

這是一個瀏覽器問題或任何其他問題?我們無法知道爲什麼會出現這種問題,因爲同一段代碼在某些機器上工作。

<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 的 <的ContentTemplate> 的 Private Sub DropDown1_SelectedIndexChanged(sender As Object, )Handle DropDown1.SelectedIndexChanged End Sub – Phani

+0

私人小組DropDown1_SelectedIndexChanged(默認參數)把手DropDown1.SelectedIndexChanged 結束子 功能InitializeRequest(發件人,參數){ 如果(args.get_postBackElement()。ID == '<%= DropDown1.ClientID%>' ){ }} – Phani

回答

0

對於Update Panel內的控件,您不需要AsyncPostBackTrigger。在更新面板中聲明的控件默認會觸發異步調用。刪除這一行:

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

爲了更好地理解我建議您閱讀AsyncPostBackTrigger vs PostBackTriggerWhat is the different between AsyncPostBackTrigger & PostBackTrigger really?

+0

問題已解決。解決方案文件因爲它以這種方式運行而被損壞。雅我同意,該行不需要寫入。感謝您的建議,但即使我們保持這一線,也沒有問題。 – Phani

相關問題