【发布时间】:2010-12-18 10:20:57
【问题描述】:
这对于更新面板来说应该是一件非常简单的事情,但我遇到了麻烦。 我想更新 vendorComboBox 选择更改时、gridview 页面以及该面板中的删除按钮上的 updatePanelSelectedVendors。我根本不想刷新供应商组合框,但我不想做一个完整的回帖。
问题是异步回发只发生在 vendorComboBox 的第一次选择更改。我在此用户控件中有与其他更新面板类似的面板。如何将它们链接在一起,并且只更新我设置的触发器。
<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>
编辑:我将vendorsComboBox 更改为常规的DropDownList,部分回帖按我预期的方式工作。为什么不用 ComboBox 控件呢?
【问题讨论】:
标签: asp.net-ajax updatepanel ajaxcontroltoolkit