我想,這樣還不如多HTML具有通過AJAX的UpdatePanel每次調用被重發,以加快我的中繼器。UpdatePanel的一箇中繼器內 - 更新中的所有行
因此,這裏是我有什麼(一個非常簡化的版本):
<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」進行更新。在ItemTemplate中使用UpdatePanel應該有助於防止重新加載填充Eval(「腳本」)的HTML /文本Eval(「註釋」),因爲這些變量的值可能非常大並且通過3G連接這可能是非常昂貴的(在時間&錢)。
我雖然通過增加異步觸發它會工作,我以前使用過這種類型的觸發器,但直放站內部時不會。目前,UpdatePanels根本就沒有得到更新,除了按鈕被按下的那個。
任何想法的人?
你爲什麼不嘗試做的ImageButton的默認點擊事件,複製 - 粘貼ItemCommand代碼,並在AsyncPostBackTrigger的ImageButton的「點擊」更改事件名稱。這對我有用。 – 2011-04-15 17:52:09
更新面板和Ajax不屬於同一個句子。我建議你看看這篇文章:http://encosia.com/2007/07/11/why-aspnet-ajax-updatepanels-are-dangerous/作者解釋說,他看到使用Ajax提高了4,000%,而不是更新面板。 – 2011-04-15 20:55:19
尼克,我明白'寫'我自己的AJAX會更快,因爲我經常這樣做,但對於快速開發,我發現UpdatePanel非常方便。 – Darthtong 2011-04-18 08:56:18