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就是不行,烦人!
<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就是不行,烦人!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货