DropDownList SelectedIndexChanged事件在某些计算机中未触发

时间:2013-08-29 09:20:38

标签: javascript jquery asp.net vb.net html5

我们在UpdatePanel中有一个DropDownList,其autopostback属性设置为true。我们在触发器中保留了一个声明,即Postback是异步回发,并且我们的代码后面有下拉列表的处理程序。

有一个特殊的问题是事件不会在某些机器上被触发。我们还包括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 %>'){ }
}

1 个答案:

答案 0 :(得分:0)

对于Update Panel中的控件,您不需要AsyncPostBackTrigger。默认情况下,在更新面板内声明的控件将触发异步调用。删除这一行:

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

为了更好地理解,我建议您阅读AsyncPostBackTrigger vs PostBackTriggerWhat is the different between AsyncPostBackTrigger & PostBackTrigger really?