Как использовать GetIndexedPropertyValue? - PullRequest
1 голос
/ 18 мая 2011

У меня есть следующий ListView:

<asp:ListView ID="lv_Announcements" runat="server">
    <LayoutTemplate>
        <asp:PlaceHolder ID="itemPlaceHolder" runat="server" />
    </LayoutTemplate>
    <ItemTemplate>
                <a href="<%# Eval("Title") %>"><%# Eval("Title") %></a><br />
                <%# DataBinder.GetIndexedPropertyValue(Fields, "[\"Body\"]")%><br /><br />
    </ItemTemplate>
</asp:ListView>

В своем коде я делаю это:

            lv_Announcements.DataSource = cur.Web.Lists["Announcements"].Items;
            lv_Announcements.DataBind();

Где Items - это SPListItemCollection .Каждый раз, когда я запускаю свой код, я получаю следующую ошибку:

Имя 'Поля' не существует в текущем контексте

Должен ли я что-то здесь делать по-другому?

1 Ответ

1 голос
/ 20 мая 2011

Я закончил так:

<%# DataBinder.GetIndexedPropertyValue(Container.DataItem, "[\"Body\"]")%>

DataItem - это SPListItem, к которому привязана строка, поэтому вы можете думать об этом так:

SPListItem myItem = //whatever;
myItem["Body"];

Прежде чем это было бы так:

SPListItem myItem = //whatever;
myItem.Fields["Body"];

Который не возвращает информацию, которую я хотел.

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