This should be a pretty simple thing to do with Update Panels, but I m having troubles. I want to update the updatePanelSelectedVendors on vendorsComboBox selection change, when the gridview pages, and on the delete buttons in that panel. I don t want to refresh the vendor combox at all, but I don t want to do a full post back.
The problem is that the async post back only happens the first selection change of the vendorsComboBox. I m having similar panels with other update panels in this user control. How can I link them all together and only update on the triggers I set.
<div class="containerBox vendorsSelectBox">
<asp:Label ID="lblVendors" runat="server" EnableViewState="false" AssociatedControlID="vendorsComboBox" CssClass="labelHeader" Text="Vendors" />
<br />
<asp:UpdatePanel ID="updatePanelVendorsSelect" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional">
<ContentTemplate>
<ajaxToolkit:ComboBox ID="vendorsComboBox" runat="server"
DataTextField="Name"
DataValueField="VendorID"
AutoPostBack="true"
AutoCompleteMode="SuggestAppend"
DropDownStyle="DropDownList"
CssClass="CustomComboBoxStyle"
CaseSensitive="false"
AppendDataBoundItems="false"
onselectedindexchanged="vendorsComboBox_SelectedIndexChanged">
</ajaxToolkit:ComboBox>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<asp:Panel ID="panelSelectedVendors" runat="server" CssClass="containerBox selectedFranchiseBox">
<label class="labelHeader">Selected Vendors</label> <br />
<asp:UpdatePanel ID="updatePanelSelectedVendors" runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="vendorsComboBox" EventName="SelectedIndexChanged" />
</Triggers>
<ContentTemplate>
<asp:GridView ID="selectedVendorsList" runat="server"
AllowPaging="True"
Width="250"
DataKeyNames="VendorID" AutoGenerateColumns="False" SkinID="gridViewSkin"
onrowdatabound="selectedVendorsList_RowDataBound"
onpageindexchanging="selectedVendorsList_PageIndexChanging">
<Columns>
<asp:TemplateField HeaderText="Remove?" ItemStyle-Width="10">
<ItemTemplate>
<asp:CheckBox ID="checkBoxSelect" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<br />
<asp:Button ID="buttonDeleteSelectedVendor" runat="server"
Text="Delete Selected Vendor" EnableViewState="false"
SkinID="button" style="display:none; float:left; width:150px;"
onclick="buttonDeleteSelectedVendor_Click" />
<asp:Button ID="buttonClearSelectedVendors" runat="server"
Text="Delete All" SkinID="button" style="float:right; margin-right:25px;"
Visible="false"
onclick="buttonClearSelectedVendors_Click" />
</asp:Panel>
EDIT: I changed vendorsComboBox to a regular DropDownList and the partial post backs worked the way I expected. Why doesn t it with the ComboBox control?