BC30456: DataItem не является членом System.Web.UI.Control - PullRequest
0 голосов
/ 10 апреля 2011

Раньше у меня была 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'..

Так что же я здесь не так делаю?

Ответы [ 2 ]

1 голос
/ 10 апреля 2011

Попробуйте использовать

<%# Eval( "field" ) %>

стенографию

0 голосов
/ 10 апреля 2011

Я не знаю, может ли это решить вашу проблему или нет, но учтите следующее:

Замените: Binder.Eval(Container.DataItem, "Field_NAME")

на это: Eval("Field_NAME")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...