Раньше у меня была UpdatePanel в качестве оболочки для всего элемента Listview. Что было неверно в качестве логики AJAX.
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:ListView ID="ListView1" runat="server">
<LayoutTemplate>
<asp:PlaceHolder id="itemPlaceholder" runat="server" />
</LayoutTemplate>
<ItemTemplate>
'....
</ItemTemplate>
</asp:ListView>
</ContentTemplate>
<Triggers></Triggers>
</asp:UpdatePanel>
Поэтому я решил, что должен обернуть только группу кнопок изображений с панелями обновления следующим образом ...
<asp:ListView ID="ListView1" runat="server">
<LayoutTemplate>
<asp:PlaceHolder id="itemPlaceholder" runat="server" />
</LayoutTemplate>
<ItemTemplate>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always" RenderMode="Block">
<ContentTemplate>
<asp:ImageButton ID="btnContainsError" runat="server"/>
<asp:ImageButton ID="btnAttach" runat="server" CommandName='<%# "AddC_" & DataBinder.Eval(Container.DataItem, "QID") & "_" & DataBinder.Eval(Container.DataItem, "Label") %>'/>
<asp:ImageButton ID="btnFavorite" runat="server" CommandName='<%# "AddF_" & DataBinder.Eval(Container.DataItem, "QID") & "_" & DataBinder.Eval(Container.DataItem, "Label") %>'/>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Image ID="btnStar" runat="server" ImageUrl="~/Images/star.png" Visible='<%# DataBinder.Eval(Container.DataItem, "InT") %>' />
</ItemTemplate>
</asp:ListView>
А теперь я получаю ошибку 'DataItem' is not a member of 'System.Web.UI.Control'.
.
Так что же я здесь не так делаю?