У меня есть ListView, называемый «orderReceiptTable», который я могу правильно получить из кода Behind. Внутри него есть буквал, называемый «orgName», который я, очевидно, хотел бы заполнить именем организации.Использование FindControl для таргетинга на Literal
После долгих поисков было определено, что 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>
Вы можете включить HTML-разметку для ListView, чтобы мы могли понять, как это настроить? Кроме того, можете ли вы указать, где вызывается вышеуказанный код? Это может повлиять на ответ. –
У вас есть шаблон в вашем «ListView»? Если да, попробуйте 'myOrgName = CType (orderReceiptTable.Controls (0) .FindControl (" orgName "), Literal)'. Я поставил '0' в качестве индекса asI предполагаю только один уровень шаблона, если он есть. – keyboardP
Я добавил разметку на мой вопрос, если это поможет. Я работаю с вашим предложением keyboardP, чтобы узнать, работает ли это с некоторым редактированием. Я дам вам знать. – BehemothDan