Привязка поля ListView к значению в коде позади - PullRequest
0 голосов
/ 10 января 2019

Я отображаю поля из вызова БД в ListView. Мне пришлось перекодировать мой запрос к базе данных из-за проблемы с повторяющимися группами. Я также не хотел иметь дело с вложенными ListViews. Поэтому сейчас я пытаюсь установить заголовок на значение выбора списка переключателей. Я пытался написать собственный метод для возврата этого значения, но не смог вспомнить синтаксис.

Как я могу установить заголовок в LayoutTemplate из кода, чтобы он не повторялся?

<LayoutTemplate>
    <div class="resultsGrid">
        <strong><%# GetHeader() %></strong>
        <asp:PlaceHolder runat="server" ID="resultsPlaceHolder">
        </asp:PlaceHolder>
    </div>
</LayoutTemplate>
<ItemTemplate>
    // rest of data
</ItemTemplate>

1 Ответ

0 голосов
/ 11 января 2019

Мне удалось решить это следующим образом:

<asp:ListView ID="resultsList" ItemPlaceholderID="resultsPlaceHolder"
    OnItemCreated="ResultsList_ItemCreated" runat="server">
    <LayoutTemplate>
        <div class="resultsGrid">
            <strong><asp:Label ID="headerLabel" runat="server"></asp:Label></strong>
            <asp:PlaceHolder runat="server" ID="resultsPlaceHolder">
            </asp:PlaceHolder>
        </div>
    </LayoutTemplate>
    <ItemTemplate>
        // rest of data
    </ItemTemplate>
</asp:ListView>

А в коде позади:

protected void ResultsList_ItemCreated(object sender, ListViewItemEventArgs e)
{
    if (e.Item is ListViewItem)
    {
        Label tempLabel = resultsList.FindControl("headerLabel") as Label;
        tempLabel.Text = ViewState["ParkName"].ToString();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...