Я пытаюсь ускорить работу моего повторителя, чтобы при каждом вызове через AJAX UpdatePanel не нужно было пересылать больше HTML.
Итак, вот что у меня есть (очень упрощенная версия):
<asp:Repeater ID="rptContactSteps" runat="server">
<ItemTemplate>
<p>Script:<br /><%#mobjSDIT.FormatText(Eval("script"))%></p>
<p>Notes:<br /><%#mobjSDIT.FormatText(Eval("notes"))%></p>
<asp:UpdatePanel ID="upStep" runat="server" UpdateMode="Conditional">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="rptContactSteps" EventName="ItemCommand" />
</Triggers>
<ContentTemplate>
<p>Contact/Step Notes:<br /><%#mobjSDIT.FormatText(Eval("contact_step_notes"))%></p>
<asp:ImageButton ID="btnSaveAndCompleteLastStep" runat="server" ImageUrl="~/images/content/buttons/save-and-complete-button.png" CommandArgument='<%#Eval("step_contact_tie_id")%>' />
</ContentTemplate>
</asp:UpdatePanel>
</ItemTemplate>
</asp:Repeater>
Итак, когда я нажимаю «btnSaveAndCompleteLastStep», я хочу, чтобы все UpdatePanel в «rptContactSteps» обновлялись. Наличие UpdatePanel внутри ItemTemplate должно помочь избежать повторной загрузки html / text, который заполняет Eval («скрипт») и Eval («заметки»), поскольку значение этих переменных может быть очень большим и через соединение 3G это может быть очень дорого (по времени и деньгам).
Я, хотя, добавляя асинхронный триггер, работал бы так, как я использовал этот тип триггера раньше, но не когда внутри Repeater. В настоящее время панели обновления вообще не обновляются, кроме той, на которой была нажата кнопка.
Есть идеи у кого-нибудь?