我在页面上定义了DataList和Button并给DataList绑定了数据代码如下
<asp:DataList ID="DataList1" runat="server" Width="546px" >
   <HeaderTemplate>            
      <tr align="left" style="width: 546px;"><td style="width: 50px;">课号</td><td style="width: 354px;">课名</td><td style="width: 50px;">基础度</td><td style="width: 50px;">实践度</td><td style="width: 40px;">选择</td></tr>
        </HeaderTemplate>
        <ItemTemplate>      
            <tr align="left" style="width: 546px;" ><td><%# DataBinder.Eval(Container.DataItem, "CourseID")%></td><td> <a href="<%# DataBinder.Eval(Container.DataItem, "CourseUrl")%>"> <%# DataBinder.Eval(Container.DataItem, "CourseName")%></a></td><td><%# DataBinder.Eval(Container.DataItem, "m_Theory")%></td><td><%# DataBinder.Eval(Container.DataItem, "m_Practise")%></td><td ><asp:CheckBox ID="SelectCourse" runat="server"  /></td></tr>
        </ItemTemplate>
            <EditItemStyle BorderStyle="Dotted" />
            <AlternatingItemStyle BorderStyle="Dotted" />
        </asp:DataList>
<asp:Button ID="Button1" runat="server" Text="提交" OnClick="Button1_Click" />
在ItemTemplate里定义了CheckBox,现我要通过CheckBox的状态提取每一个ItemTemplate数据,如ourseID等,该如何做??
protected void Button1_Click(object sender, EventArgs e)
{
    //没有SelectCourse这个变量
    。。     
}

解决方案 »

  1.   

    protected void Button1_Click(object sender, EventArgs e)
    {
        在这里用e.items......,具体是什么,我也忘了,在IDE里看看,或查文档。
    }
      

  2.   

    string struid = ((TextBox)(e.Item.Cells[1].Controls[0])).Text;自己改下
      

  3.   

    protected void Button1_Click(object sender, EventArgs e)
    {
            foreach (DataListItem item in DataList1.Items)
            {
                CheckBox checkbox_temp =(CheckBox) item.FindControl("SelectCourse");
                if (checkbox_temp.Checked == true)
                {
                    //做你的事情。。
                }
            }  
    }