Update-Panel und teilweise rendering und AsyncPostBackTriggers nur Schießen das erste mal mit AjaxControlToolkit:ComboBox
Sollte dies eine ziemlich einfache Sache zu tun, Update-Panels, aber ich bin Probleme.
Ich will update das updatePanelSelectedVendors auf vendorsComboBox Auswahl ändern, wenn Sie das gridview-Seiten, und auf den löschen-buttons in das panel. Ich will nicht zum aktualisieren der vendor-combox an alle, aber ich will nicht zu tun, eine vollständige post zurück.
Das problem ist, dass die async-post zurück, geschieht nur das erste Auswahl-ändern der vendorsComboBox. Ich habe ähnliche Platten mit anderen update-panels, die in dieser Bedienungsanleitung Steuerung. Wie kann ich link Sie alle zusammen und nur das update auf die Trigger, die ich eingestellt habe.
<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: ich änderte vendorsComboBox zu einem regelmäßigen DropDownList und die teilweise post Rücken arbeitete die Weise, die ich erwartet hatte. Warum nicht mit der ComboBox-Steuerelement?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nicht wollen, zu aktualisieren", vendorsComboBox', dann gibt es keine Notwendigkeit für Sie zu sein in einem UpdatePanel in den ersten Platz. Indem es als Auslöser für 'updatePanelSelectedVendors' ist ausreichend, um zu aktualisieren, dass UpdatePanel.
Soweit, dass mehrere UpdatePanels auf der Seite, die betroffen ist, scheinen Sie tun werden die meisten wichtige Sache, die Sie sicher, Sie haben
UpdateMode="Conditional"
, sonst werden Sie alle Updates, wenn einer von Ihnen tut.Jedenfalls versuchen, das entfernen des 'updatePanelVendorsSelect' - panel, wie es auch gar nicht nötig, und alle anderen, die wrap-Inhalt, der nicht zu ändern brauchen, und sehen, wie Sie zu erhalten. Es kann Ihr problem lösen, es kann etwas helfen, lass es mich wissen.