2
コードビハインドから適切にアクセスできる「orderReceiptTable」というListViewがあります。その中には、 "orgName"と呼ばれるリテラルがありますが、これは明らかに組織の名前を入れたいと思っています。FindControlを使用してリテラルをターゲットにする
多くの検索の後、FindControlが正しい動作のコースであると判断されました。おそらく私は不適切にFindControlを使用していますが、実際にはリテラルコントロールを「見つける」ことができません。
コードブロックがページロードで呼び出されています。
私のコードは次のようなになります。ここでは
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'にテンプレートがありますか?もしそうなら、 'myOrgName = CType(orderReceiptTable.Controls(0).FindControl(" orgName ")、Literal)'を試してください。インデックスとして '0'を入れました。テンプレートのレベルが1つしかないと仮定します。 – keyboardP
私の質問にマークアップが追加されました。私はあなたの提案keyboardPを編集しているかどうか確認するために作業しています。お知らせいたします。 – BehemothDan