在我的用戶控制,我有以下的標記:如何讓我的轉發器的Itemcommand事件不完整頁面回發?
<div id="pageEditsView" style="margin-left:540px">
<asp:UpdatePanel runat="server">
<Triggers>
<asp:AsyncPostBackTrigger ControlID="PageEditList"/>
</Triggers>
<ContentTemplate>
<asp:HiddenField runat="server" ID="CurrentPageId"/>
<asp:Label runat="server" ID="EditDisplayLabel" Visible="False">Edits tied to this page:</asp:Label>
<br/>
<ul>
<asp:Repeater runat="server" ID="PageEditList" OnItemCommand="PageEditList_ItemCommand">
<ItemTemplate>
<li>
<%# ((PageEdit)Container.DataItem).CachedName %>
(<asp:LinkButton ID="LinkButton1" runat="server" Text="remove" CommandName="remove" CommandArgument="<%# ((PageEdit)Container.DataItem).Id %>" />)
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</ContentTemplate>
</asp:UpdatePanel>
</div>
每當我點擊刪除鏈接按鈕,它正在執行一個完整的網頁提交,而不是隻更新該控件的面板。我的母版頁有如下設置:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="True" />
這個應用程序的其他部分(我繼承,老dev的誰寫的這不再是左右)似乎做局部頁面更新就好了。難道我做錯了什麼?
我相信問題是觸發的控件whoes事件不是PageEditList,而是其中的刪除按鈕。因此,您必須遍歷所有按鈕,並將所有刪除按鈕註冊爲在後面的代碼中異步。也許可以使用中繼器的OnItemCreated Event來完成此操作。 –