1

リンクと非表示のパネル(およびその他のもの)があるリピーターがあります。このリンク (LinkBut​​ton) でパネルを表示したい。これは私が持っているものです:

<asp:Repeater id="repeater1" runat="server">
    <ItemTemplate>
        ....
        <asp:LinkButton runat="server" ID="lnkTransits" Text="test" CommandName="Transits"/>
        <asp:Panel CssClass="transits" id="pnlTransits" runat="server" Visible="False">
            ....
        </asp:Panel>
</ItemTemplate>
</asp:Repeater>

分離コード (OnInit で itemcommand をバインド):

private void FlightList_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item || 
        e.Item.ItemType == ListItemType.AlternatingItem)
    {
        if (e.CommandName == "Transits")
        {
            var item = e.Item.DataItem;
            //var panel = item.FindControl("pnl" + e.CommandName);
            //panel.Visible = true;
        }
    }
}

DataItem は null であり、すべての投稿がそうあるべきだと言っているので、私はその考えをあきらめました。しかし、代わりに私が望んでいるのは、インデックス値または「最も近い」または使用できるものを見つける方法があるかもしれないということです。私が望むのは、パネルを表示することだけです(そして、おそらく同じボタンで、コマンド引数「非表示」「表示」を使用してパネルを非表示にできることを願っています)。

これがこれを修正する方法ではない場合、それで問題ありません。最善の方法は何ですか?

前もって感謝します

4

0 に答える 0