如何在同一个repeateritem中使用linkbutton显示面板?

时间:2012-10-03 09:39:07

标签: repeater panel linkbutton itemcommand

我有一个转发器,其中有一个链接和一个隐藏的面板(以及其他一些东西)。我想要这个链接(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>

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

如果这不是解决这个问题的方法,那就没关系,最好的方法是什么?

提前致谢

0 个答案:

没有答案