Использование FindControl для нацеливания на литерал - PullRequest
2 голосов
/ 05 января 2012

У меня есть ListView с именем "orderReceiptTable", к которому я могу правильно получить доступ из кода позади. Внутри него есть буквальное имя orgName, которое я, очевидно, хотел бы заполнить названием организации.

После долгих поисков было установлено, что FindControl - правильный путь действий. Возможно, я использую FindControl ненадлежащим образом, но я не могу заставить его "найти" мой элемент управления Literal.

Кодовый блок вызывается при загрузке страницы.

Мой код выглядит так:

    Dim orgNameString As String = getOrganizationName.getOrgName(organizationID).ToString()

    Dim myOrgName As Literal = FindControl("orgName")
    myOrgName = CType(orderReceiptTable.FindControl("orgName"), Literal)

    If Not (myOrgName Is Nothing) Then
        Response.Write("I found the control!")
        myOrgName.Text = orgNameString
    End If

Вот разметка в файле .aspx:

<asp:ListView ID="orderReceiptTable" runat="server">
            <LayoutTemplate>
                <div runat="server" id="itemPlaceholder" />
            </LayoutTemplate>

            <EmptyDataTemplate>
                <tr id="noDataDiv" runat="server"> 
                    <td class="sub" ID="itemPlaceholder" runat="server">
                        No order data was returned.
                    </td>
                </tr> 
            </EmptyDataTemplate>

            <ItemTemplate>
                <div id="itemPlaceholder" runat="server" style="border:solid 1px #000000; width:250px; float:left; padding:10px; border:solid 2px #1664B1;">
                    <div>Organization Name: <asp:Literal runat="server" ID="orgName"></asp:Literal></div>                             
                </div>
            </ItemTemplate>        
    </asp:ListView>   

1 Ответ

1 голос
/ 05 января 2012

Элементы управления внутри шаблона будут создаваться только после привязки к нему некоторых данных. После этого вы сможете получить к нему доступ через свойство ListView.Controls.

Этот предыдущий ответ может помочь: Найти элемент управления в ListView EmptyDataTemplate

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