2011-06-17 63 views
0

我需要检查每个按钮上的数据列表中的每一行,以检查每行内部的复选框是否被选中。我把我的按钮放在DataList的FooterTemplate中,但是我还找不到方法。这是我的ItemCommand方法;通过按钮上的DataList控件的所有行点击

protected void DataList1_ItemCommand(object sender, DataListCommandEventArgs e) { 

    if (e.Item.ItemType == ListItemType.Footer) { 

     if (e.CommandName == "AddContinue") { 


     } else if (e.CommandName == "SkipContinue") { 


     } 

    } 

} 

这是我的页脚;

<FooterTemplate> 

    <div class="top-margin-25"> 

     <div class="left-floathy"> 
      <asp:Button runat="server" ID="btnPreviousStep" Text="<<< Previous Page" 
       class="blueButtonSmall boxShadow" onclick="btnPreviousStep_Click" /> 
     </div> 

     <div class="right-floathy"> 
      <asp:Button runat="server" ID="btnAddContinue" Text="Add & Contuniue >>>" 
       class="blueButtonSmall boxShadow" CommandName="AddContinue" /><br /> 
     </div> 

     <div class="clarFix"></div> 

     <div class="right-floathy"> 
      <asp:Button runat="server" ID="btnSkipContinue" Text="Skip & Continue >>>" 
       class="blueButtonSmall boxShadow" CommandName="SkipContinue" /> 
     </div> 

     <div class="clarFix"></div> 

    </div> 

</FooterTemplate> 

回答

0

好吧,显然我没有看到DataList.Items东西有点粗心。答案坐在这里;

http://blog.ysatech.com/post/2011/06/03/ASPNET-Get-selected-checkbox-value-in-DataList.aspx

编辑

对于其他人谁具有同样的问题,这里是代码;

protected void DataList1_ItemCommand(object sender, DataListCommandEventArgs e) { 

     if (e.Item.ItemType == ListItemType.Footer) { 

      if (e.CommandName == "AddContinue") { 

       foreach (DataListItem item in DataList1.Items) { 

        CheckBox extraCheck 
         = item.FindControl("extraCheck") as CheckBox; 

        if (extraCheck != null) { 

         if (extraCheck.Checked) { 
          Response.Write(item.ItemIndex); 
         } 
        } 

       } 

      } else if (e.CommandName == "SkipContinue") { 


      } 

     } 

    }