0

ネストされた Listview から (div id="imgGallery" runat="server") 要素を取得して、クラス名をプログラムで変更しようとしています。

<asp:ListView ID="ListView1" runat="server" ItemPlaceholderID="itemPlaceHolder1" onitemdatabound="ListView1_ItemDataBound">
<ItemTemplate>
    <asp:Label ID="VersionId" runat="server" Text='<%# Eval("VersionId") %>' Visible="false" />
    <asp:Label ID="MenuContent" runat="server" Text='<%# Eval("ContentText") %>' />
    <br />
    <asp:ListView ID="ListView2" runat="server" ItemPlaceholderID="itemPlaceHolder2">
        <ItemTemplate>
            <div id="imgGallery" class="images" runat="server">
                <asp:Image ID="Image1" ImageUrl='<%# Eval("ImageUrl") %>' runat="server" ToolTip="Text" />
            </div>
        </ItemTemplate>
        <LayoutTemplate>
            <asp:PlaceHolder runat="server" ID="itemPlaceHolder2"></asp:PlaceHolder>
        </LayoutTemplate>
    </asp:ListView>
</ItemTemplate>
<LayoutTemplate>
    <asp:PlaceHolder runat="server" ID="itemPlaceHolder1"></asp:PlaceHolder>
</LayoutTemplate>
<ItemSeparatorTemplate>
    <br />
    <hr />
    <br />
</ItemSeparatorTemplate>

私のコードビハインドでは、動作しない以下のコードを試しました...さまざまな方法を試しましたが、解決策が見つかりません。

    ListView listView2 = (ListView)ListView1.FindControl("ListView2");
HtmlGenericControl mydiv = (HtmlGenericControl)listView2.FindControl("imgGallery");
mydiv.Attributes.Clear();
4

1 に答える 1

1

データバインディングステージでデータバインドコントロールの内部要素を操作するか、行コレクションを反復処理する必要があります(以前はデータバインドメソッドと呼ばれていました)

于 2012-08-01T06:20:55.920 に答える