html:
<asp:datalist id="DataList1" style="Z-INDEX: 102; LEFT: 95px; POSITION: absolute; TOP: 108px" runat="server" ShowFooter="False" RepeatColumns="5">
<ItemTemplate>
<table>
<tr>
<td>
<asp:Label ID="myLabel" Runat="server">
<%# DataBinder.Eval(Container.DataItem,"Num")%>
</asp:Label></td>
<td>
<asp:LinkButton ID="LinkButton1" Runat="server">测试</asp:LinkButton></td>
</tr>
</table>
</ItemTemplate>
</asp:datalist>
后台.vb    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码
        Me.SqlConnection1.ConnectionString = sqlcnn
        Me.SqlCommand1.Connection = Me.SqlConnection1
        Me.SqlDataAdapter1.SelectCommand.Connection = Me.SqlConnection1
        If Not Me.IsPostBack() Then
            mydatabind("82610")       
        End If
    End Sub    Private Sub mydatabind(ByVal head As String)
        Me.SqlDataAdapter1.SelectCommand.CommandText = "select * from All_NNum where Num_Line_State='100' and lock=0 and state=1 and substring(num,1,5)='" & head & "'"
        Me.SqlDataAdapter1.Fill(Me.DataSet1, "kilonums")
        Me.DataList1.DataSource = Me.DataSet1
        Me.DataList1.DataMember = "kilonums"
        Me.DataList1.DataBind()
    End Sub    Private Sub DataList_ItemCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.ItemCommand
        Dim mylabel As Label = CType(e.Item.FindControl("myLabel"), Label)
        '锁定数据
        If Me.SqlConnection1.State <> ConnectionState.Open Then
            Me.SqlConnection1.Open()
        End If
        If mylabel Is Nothing Then
        Else
            Me.SqlCommand1.CommandText = "update All_NNum set lock=1,lock_time='" & Now() & "' where num='" & mylabel.Text & "'"
            Me.SqlCommand1.ExecuteNonQuery()
            Me.SqlConnection1.Close()
        End If
    End Sub现在的问题是mylabel.text不管怎样都为空值,但它明明就findcontrol,但为什么就是取不到值呢?在datagrid这样是完全没有问题的,但在datalist就是不行,烦人!