我在页面上有三个下拉列表。
(1)保留停车场结构 - parkingArea (2)保持所选(1) - ddParkingAreaLevel的级别 (3)可用于(2)的时隙--ddAvailableParkingSlots
当某人更改(1)时,(2)上传了(1)的级别,然后(3)更新了可用于所选级别的插槽(2)。
然而,这只是行不通。我对UpdatePanel不太熟悉,根本无法让它按预期工作。
他们现在的工作方式:
当我改变(1)时,(2)被正确更新并且(3)加载(2)的槽。但是,如果我更改(2),则会触发UpdatePanel但是插槽不会加载到(3)和(2)中“跳回”到SelectedIndex的值为0,并且不会保持在新选择的级别。
以下是代码:
<div class="form-group" id="parkingArea" runat="server">
<label>Parking Area:</label>
<asp:DropDownList ID="ddParkingAreas" CssClass="form-control" runat="server"
style="width:240px;" onselectedindexchanged="ddParkingAreas_SelectedIndexChanged"
AutoPostBack="true"></asp:DropDownList>
</div>
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="form-group">
<label>Level:</label>
<asp:DropDownList ID="ddParkingAreaLevel" CssClass="form-control" runat="server"
style="width:240px;" onselectedindexchanged="ddParkingAreaLevel_SelectedIndexChanged"
AutoPostBack="true"></asp:DropDownList>
</div>
</ContentTemplate>
<Triggers><asp:AsyncPostBackTrigger ControlID="ddParkingAreas"
EventName="SelectedIndexChanged" /></Triggers>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="form-group">
<label>Available Parking Slots:</label>
<asp:DropDownList ID="ddAvailableParkingSlots" CssClass="form-control"
runat="server" style="width:240px;"></asp:DropDownList>
</div>
</ContentTemplate>
<Triggers><asp:AsyncPostBackTrigger ControlID="ddParkingAreaLevel"
EventName="SelectedIndexChanged" /></Triggers>
</asp:UpdatePanel>
希望你们中的任何人都可以提供帮助!
此致
鲍勃
答案 0 :(得分:0)
为什么不为所有级联下拉列表使用一个更新面板?
<asp:UpdatePanel ID="udpMain" runat="server" ChildrenAsTriggers="true">
<ContentTemplate>
<div class="form-group" id="parkingArea" runat="server">
<label>Parking Area:</label>
<asp:DropDownList ID="ddParkingAreas" CssClass="form-control" runat="server" style="width:240px;" onselectedindexchanged="ddParkingAreas_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>
</div>
<div class="form-group">
<label>Level:</label>
<asp:DropDownList ID="ddParkingAreaLevel" CssClass="form-control" runat="server" style="width:240px;" onselectedindexchanged="ddParkingAreaLevel_SelectedIndexChanged" AutoPostBack="true"></asp:DropDownList>
</div>
<div class="form-group">
<label>Available Parking Slots:</label>
<asp:DropDownList ID="ddAvailableParkingSlots" CssClass="form-control" runat="server" style="width:240px;"></asp:DropDownList>
</div>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ddParkingAreas" EventName="ddParkingAreas_SelectedIndexChanged" />
<asp:AsyncPostBackTrigger ControlID="ddAvailableParkingSlots" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>