我在一个datalist中构造一个LinkButton的模版列,并给它绑定了text数据,请问如何在Item_Command事件中取得每个linkButton的Text值.(目的是在执行LinkButton点击事件时把相应的Text作为参数传递).急求!

解决方案 »

  1.   

    ((LinkButton)E.Item.IndexItem.FindControl("id")).Text
      

  2.   

    LinkButton lbtn = (LinkButton)e.Items.FindControls("/*your LinkButtonID*/");Response.Redirect("webForm1.aspx?id=" + lbtn.Text);
      

  3.   

    IndexItem是什么属性?ItemIndex也没有FindControl属性.
    我的绑定是:
    <asp:LinkButton id="LinkButton1" runat="server" CausesValidation="False" CommandName="page"><%#DataBinder.Eval(Container.DataItem,"p")%></asp:LinkButton>显示正常,但是在itemCommand中取值:((LinkButton)e.Item.FindControl("LinkButton1")).Text
    却为空串...
      

  4.   

    改为<asp:LinkButton id="LinkButton1" runat="server" CausesValidation="False" CommandName="page" Text="<%#DataBinder.Eval(Container.DataItem,"p")%>"></asp:LinkButton>
    试试
      

  5.   

    LinkButton lb = (LinkButton)e.Item.FinderControl("LinkButtonId");
    string text = lb.Text;
      

  6.   

    我自己解决了,chenyu112的正解,
    我开始是:
    <asp:LinkButton id="LinkButton1" runat="server" CausesValidation="False" CommandName="page"><%#DataBinder.Eval(Container.DataItem,"p")%></asp:LinkButton>
    后来是:
    <asp:LinkButton id="LinkButton1" runat="server" CausesValidation="False" CommandName="page" Text="<%#DataBinder.Eval(Container.DataItem,"p")>"></asp:LinkButton>
    开始在模版列里的属性里找不到LinkButton的Text属性,我自己硬加上去的,无语。。2003很多地方还真是奇怪。我在2005看了看,模版列里的LinkButton有Text属性。2003却没显示出来,但Text可以加到属性中.
      

  7.   

    还有就是控件不加这个验证属性无法触发Item_Command,"CausesValidation="False"",真搞不懂