Asp.net ItemCommand asynchronous postback in an UpdatePanel

In Asp.net Simply adding an UpdatePanel to a ListView with an ItemCommand won’t do the trick of asynchronous postback. The Command should be registered to the script manager Dynamically.

To achieve an asynchronous postback you have to do the following trick

Asp.net front end Code Example

<asp:UpdatePanel runat=”server” ID=”upContent”>
<ContentTemplate>
<asp:ListView runat=”server” ID=”lvContent”
OnItemCommand=”lvContent_ItemCommand”
onitemdatabound=”lvContent_ItemDataBound” >
<ItemTemplate>
<div class=”trd-block”>
<asp:LinkButton Text=”Delete” runat=”server” ID=”lnkDelete” CommandArgument='<%#Eval(“ID”) %>’  />
</div>
</ItemTemplate>
</asp:ListView>
</ContentTemplate>
</asp:UpdatePanel>

The solution comes in the Code Behind C# on the ItemDataBound

protected void lvContent_ItemDataBound(object sender, ListViewItemEventArgs e)
{
LinkButton delete = (LinkButton)e.Item.FindControl(“lnkDelete”);
ScriptManager.GetCurrent(this.Page).RegisterAsyncPostBackControl(delete);
}