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 是空的,每个帖子都说应该是这样,所以我放弃了这个想法。但我希望的是,可能有一些索引值或某种方法可以找到“最接近”或我可以使用的东西。我想要的只是使面板可见(并希望使用相同的按钮也能够隐藏它,也许使用命令参数“隐藏”“显示”)。

如果这不是解决此问题的方法,那很好,最好的方法是什么?

提前致谢

4

0 回答 0