void MyDataList_ItemCommand(object sender, DataGridCommandEv E)
   {
         if(e.CommandName=="Select")
         {
label1.Text=((LinkButton)e.Item.FindControl("button1")).Text;
          }
    }

解决方案 »

  1.   

    to vbdelphi(小笨笨)
    编译不通过,提示说:
    编译器错误信息: CS0246: 找不到类型或命名空间名称“e”(是否缺少 using 指令或程序集引用?)
      

  2.   

    # is case-sensitive, also, you should cast it to LinkButton instead:
     
     void MyDataList_Select(object sender, EventArgs e)
       {
    label1.Text=((LinkButton)DataList1.SelectedItem.FindControl("button1")).Text;
        }
      

  3.   

    ????
    void MyDataList_ItemCommand(object sender, DataGridCommandEv E)
       {
             if(e.CommandName=="Select")
             {
    //label1.Text=((LinkButton)e.Item.FindControl("button1")).Text;
               label1.Text=e.Item.Cell(x).Text;          }
        }
    x是数字,表示linkbutton所在列
      

  4.   

    to saucer(思归, .NET MVP):
    我把你的代码替换了我的MyDataList_Select部分,编译虽然通过,但是在点LinkButton的时候,还是不能再Label上面显示,在IE的状态栏上会出现“网页上有错误”。
    to ga3ga3(噶3噶3) :
    使用你的代码替换后出现的问题和vbdelphi(小笨笨)一样,编译的时候提示:
    编译器错误信息: CS0246: 找不到类型或命名空间名称“e”(是否缺少 using 指令或程序集引用?)
    还有我想问,我在DataList里面使用的是OnSelectedIndexChanged="MyDataList_Select",应该没有错吧?
    谢谢!
      

  5.   

    to vbdelphi(小笨笨):
    我之所以编译你的代码不通过,我发现是因为我的'E'的大小些不一致,现在都改成'e',编译可以通过,可是后来出现的问题和saucer(思归, .NET MVP)一样。
    to ga3ga3(噶3噶3):
    使用你的方法在编译的时候提示:
    编译器错误信息: CS0117: “System.Web.UI.WebControls.DataGridItem”并不包含对“Cell”的定义三位的方法都试了,还是解决不了。
      

  6.   

    我测试了。可以的啊我的测试代码: .aspx页面 有datagrid1,label1 2个控件。datagrid1只有1例UserName,和模版例(含linkbutton)commandname为linkPrivate Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '在此处放置初始化页的用户代码
            If Not IsPostBack Then
                Bind()
            End If    End Sub    Private Sub Bind()
            Dim conn As New System.Data.SqlClient.SqlConnection(System.Configuration.ConfigurationSettings.AppSettings("WorkLogDB"))
            Dim comm As New System.Data.SqlClient.SqlCommand
            Dim ds As New DataSet
            Dim adapter As New System.Data.SqlClient.SqlDataAdapter(comm)
            With comm
                .Connection = conn
                .CommandText = " Select UserName From [User] "
                adapter.SelectCommand = comm
                .Connection.Open()
                adapter.Fill(ds)
                Me.DataGrid1.DataSource = ds.Tables(0).DefaultView
                Me.DataGrid1.DataBind()
                .Connection.Close()
            End With    End Sub    Private Sub DataGrid1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.ItemCommand
            Select Case e.CommandName.ToUpper
                Case "link".ToUpper
                    Me.Label1.Text = e.Item.Cells(0).Text        End Select
        End Sub