我有一个转发器,其中有一个链接和一个隐藏的面板(以及其他一些东西)。我想要这个链接(LinkButton)来显示我的面板。这就是我所拥有的:
<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”)。
如果这不是解决这个问题的方法,那就没关系,最好的方法是什么?
提前致谢