我在一个UpdatePanel中的ListView里面有一个LinkButton。我想让这个按钮(或者所有的按钮)引起部分页面回传,但它们会引起整个页面回传。
<asp:UpdatePanel ID="upOutcomes" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:ListView ID="lvTargets" runat="server" onitemdatabound="lvTargets_ItemDataBound">
<ItemTemplate>
<asp:LinkButton ID="lnkAddTarget" CssClass="lo" Text='<%# Eval("Title") + " <b>" + Eval("Level") + Eval("SubLevel") + "</b>" %>' runat="server"></asp:LinkButton>
</ItemTemplate>
</asp:ListView>
</ContentTemplate>
</asp:UpdatePanel>
我在stackoverflow上找到另一篇帖子,建议添加以下内容:
protected void lvTargets_ItemDataBound(object sender, ListViewItemEventArgs e) {
var lb = e.Item.FindControl("lnkAddTarget") as LinkButton;
tsm.RegisterAsyncPostBackControl(lb); // ToolkitScriptManager
}
还没有任何改变...
还有一些类似的帖子,但我找不到解决办法!有什么想法吗?
OnItemCreated
而不是OnItemDataBound
来使其正常工作,而无需使用AutoID
。显然,如果您使用第二个选项,则UpdatePanel仅适用于一个异步后台操作!第二次尝试将始终导致完全后台操作,我不知道为什么... - GtEx