我在datalist里绑定了数据,显示在linkbutton上面的,然后点击触发事件,
我就要获取点击的那一个值.主键可以很容易的获取到,我不知道怎么获取上面的
实际显示的文本内容?大家帮帮忙^^

解决方案 »

  1.   

      private void dataList_ItemDataBound(object sender, DataListItemEventArgs e)
            {
                switch (e.Item.ItemType)
                {
                    case (ListItemType.Item):
                    case (ListItemType.AlternatingItem):
                        LinkButton lbName= (LinkButton)e.Item.FindControl("lbName");
                       
                        long tPKID = SQLParser.LongParse(DataBinder.Eval(e.Item.DataItem, "P_ID"));
                        if(lbName!=null){lbName.Text=DataBinder.Eval(e.Item.DataItem, "P_Name");}
                    break;
                    default: break;
                }
            }
      

  2.   

    各位,我是要在点击之后,触发事件来获取值,ItemDataBound是在绑定之后
    触发的,这样的话,我怎么能获取到我要的值呢.
      

  3.   

    <asp:DataList ID="DataList1" runat="server" DataSourceID="SqlDataSource1" OnItemCommand="DataList1_ItemCommand"> 
    <itemtemplate> 
        <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Test">LinkButton</asp:LinkButton>
        <asp:Label ID="Label1" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
    </itemtemplate> 
    </asp:DataList>     protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
        {
            if (e.CommandName == "Test")
            {
                Response.Write((e.Item.FindControl("Label1") as Label).Text);
            }
        }
      

  4.   

    还有就是为什么我点击了Datalist上的一个linkbutton之后,那个linkbutton就消失了啊
    这可能是我获取不到值的原因.我可以取到主键.就是取不到值,不知道为什么.没理由啊.