<asp:DataList id="myDataList" Runat="server">
<ItemTemplate> <asp:CheckBox ID="mycheck" Runat="server"></asp:CheckBox>
</ItemTemplate>
</asp:DataList>
在.cs文件中 设myDataTable被绑定到myDataList要将myDataTable中的
ID字段绑定到checkbox的ID
for (int i = 0; i < myDataTable.Rows.count; i++)
((CheckBox)myDataList.Items[i].FindControl("mycheck")).ID = myDataTable.Rows[i][0].text; //假设myDataTable的0列是ID字段

解决方案 »

  1.   

    <asp:DataList id="myDataList" Runat="server">
    <ItemTemplate> <asp:CheckBox ID="mycheck" Runat="server"></asp:CheckBox>
    </ItemTemplate>
    </asp:DataList>
    在.cs文件中 设myDataTable被绑定到myDataList要将myDataTable中的
    ID字段绑定到checkbox的ID
    for (int i = 0; i < myDataTable.Rows.count; i++)
    ((CheckBox)myDataList.Items[i].FindControl("mycheck")).ID = myDataTable.Rows[i][0].text; //假设myDataTable的0列是ID字段
      

  2.   

    ((CheckBox)myDataList.Items[i].FindControl("mycheck")).ID 
    中的(CheckBox)加在里面是什么作用的呢?sorry,刚学.net没多久。。呵呵。。
      

  3.   

    类型转换,因为你不知道findcontrol("mycheck")返回的类型
      

  4.   

    那它转换成什么了?变成一个checkbox?
      

  5.   

    它本身就是一个CheckBox类型的数据 但是由于是findcontrol("mycheck")返回的所以程序无法判定它的类型了 所以需要类型转换
      

  6.   

    <form id="Form1" method="post" runat="server">
    <FONT face="宋体">
    <asp:datalist id="DataList1" style="Z-INDEX: 101; LEFT: 48px; POSITION: absolute; TOP: 80px" runat="server">
    <ItemTemplate>
    <asp:CheckBox id="bb" runat="server"></asp:CheckBox>
    <asp:Label id="wc" Runat="server" text='<%# container.dataitem("au_id") %>'>
    </asp:Label>
    </ItemTemplate>
    </asp:datalist></FONT></form>
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim ok As CheckBox
            Dim oo As Label
            Dim i As Integer        For i = 0 To DataList1.Items.Count - 1
                ok = DataList1.Items(i).FindControl("bb")
                oo = DataList1.Items(i).FindControl("wc")
                If ok.Checked = True Then
                    Response.Write(oo.Text)
                End If
                'Response.Write(ok.Checked.ToString)        Next
        End Sub