【发布时间】:2013-03-21 05:17:08
【问题描述】:
我有一个列表框,它正在通过计时器更新并在 UpdatePanel 中按预期工作。
但是我无法触发 selectedindexchanged 事件。我认为这与部分回发有关。有人知道我可以做些什么来完成这项工作吗?
当我将它移出 UpdatePanel 时,它工作正常。但是显然我不能做部分回发。
<asp:UpdatePanel ID="UpdatePanel" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="500"></asp:Timer>
<asp:ListBox ID="ListBox_JobPositions" OnSelectedIndexChanged="ListBox_JobPositions_SelectedIndexChanged" runat="server" Height="750px" Width="300px" DataSourceID="sqlDataSource" DataTextField="Company" DataValueField="Pid"></asp:ListBox>
</ContentTemplate>
</asp:UpdatePanel>
更新:
现在已经尝试了以下更改,计时器事件仍在工作,但 selectedindexchanged 事件没有。我迷路了。
<asp:UpdatePanel ID="UpdatePanel" runat="server" ChildrenAsTriggers="False" UpdateMode="Conditional">
<ContentTemplate>
<asp:Timer ID="Timer1" runat="server" OnTick="Timer1_Tick" Interval="500"></asp:Timer>
<asp:ListBox ID="ListBox_JobPositions" runat="server" Height="750px" Width="300px" DataSourceID="sqlDataSource" DataTextField="Company" DataValueField="Pid" OnSelectedIndexChanged="ListBox_JobPositions_SelectedIndexChanged" AutoPostBack="True"></asp:ListBox>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="Timer1" />
</Triggers>
当列表框位于 UpdatePanel 内时,该事件不会触发,但不在时会起作用。
protected void ListBox_JobPositions_SelectedIndexChanged(object sender, EventArgs e)
{
Response.Write("test");
}
【问题讨论】:
-
向我们展示更多的标记代码?
-
这基本上就是整个程序。正如你所看到的,它并不多。