【发布时间】:2014-11-04 18:20:40
【问题描述】:
我有一个名为“ddlCountry”的下拉列表,它只需要更新另一个名为“ddlCity”的下拉列表。 我应该如何使用 UpdatePanel 仅加载第二个下拉列表而不是执行完整的回发?因为我认为如果没有在第一个下拉列表中将回发属性设置为“true”,我将无法获得“SelectedIndexChanged”事件
我试过了
<li>
<label>Grupo Gestor:</label>
<asp:DropDownList ID="ddlCountry" runat="server" Width="356px"
DataTextField="Country" DataValueField="CodCountry" AutoPostBack="False"
OnSelectedIndexChanged="ddlGrupoGestor_SelectedIndexChanged" />
</li>
<li>
<label>Gestor:</label>
<asp:UpdatePanel ID="upd_ddlGroup1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:DropDownList ID="ddlCity" runat="server" Width="356px" DataTextField="City" DataValueField="CodCity" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddlCountry" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
</li>
没用
【问题讨论】:
-
不,您无法避免页面生命周期,UpdatePanel 专门设计用于在部分回发时导致它。此外,在您的第一个列表中将 AutoPostback 设置为 false 将意味着不会触发 SelectedIndexChanged 事件,即不会回发。
标签: c# asp.net ajax triggers updatepanel