偶有一个程序要实现这样的效果:在datalist每个item里有一个linkbutton和一个panel,点击linkbutton控制panel的显示或隐藏。但是我不知道怎么得到当前点击的那个linkbutton所在的item的索引值,这样编写LinkButton1_Click时,所有item里面的panel都同时显示或隐藏,达不到我要得效果。初学.net,恳请大家帮忙!

解决方案 »

  1.   

    在datalist的itemcommand事件里的e.item.itemindex
      

  2.   

    例:<ItemTemplate><asp:LinkButton Runat="server" CommandName="moreinfor" ID="Linkbutton1">详情</asp:LinkButton></ItemTemplate>
    private void DataList1_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
    {
    if (e.CommandName=="moreinfor")
    DataList1.SelectedIndex=e.Item.ItemIndex;
    ShowResult(PageIndex, PageSize);
    }
      

  3.   

    LinkButton1_Click()

    LinkButton LB=(LinkButton)sender;
    if(LB!=null)
    {
    Panel PL=(Panel)LB.parent.FindControl("Panel1");//这里看LinkButton与Panel的关系来决定parent的个数。
    if(PL!=null)
    {
    PL.Visible=false;
    }
    }}
      

  4.   

    感谢jackwofe()和mqc507()的回复,问题解决了。其实真的很简单,只怪自己学的不好,谢谢两位!呵呵