实际上我是想做个批量删除
结果调试中无论如何也取不到datalist里CheckBox的选中状态,有没有高人能帮我分析出原因
ASPX页面代码
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Button ID="Button1" runat="server" Text="批量删除" OnClick="Button1_Click" />
    <asp:DataList ID="DataList1" runat="server" CellPadding="4" ForeColor="#333333" Width="100%"  >
                                            <HeaderTemplate>
                                            <table width="100%"  border="0" cellpadding="0" cellspacing="0">
                                                <tr>
                                                    <td  style="width:5%">删除</td>
                                                    <td  style="width:10%">链接名称</td>
                                                    <td style="width:40%">链接路径</td>
                                                    <td style="width:20%">弹出类型</td>
                                                    <td style="width:20%">设置人</td>
                                                    <td style="width:10%"><a href=""  target="_blank" ><font color="#ffffff">管理</font></a>                                                     </td>
                                                </tr>
                                            </table>
                                            </HeaderTemplate>
                                            <ItemTemplate>
                                            <table width="100%"  border="0" cellpadding="0" cellspacing="0">
                                                <tr>
                                                    <td style="width:5%">
                                                        <asp:CheckBox ID="CheckBox1" runat="server"  Text="aa"  />
                                                        <asp:Label ID="Label1" runat="server"  Text='<%# Eval("xmname")%>'></asp:Label>
                                                       </td>
                                                    <td  style="width:10%"><%# Eval("xmname")%></td>
                                                    <td style="width:40%"><%# Eval("xm02") %></td>
                                                    <td style="width:20%"><%# Eval("xm03") %></td>
                                                    <td style="width:20%"><%# Eval("xm04") %></td>
                                                    <td style="width:5%"><a href="#" onclick="launchCenter('top_link_add.aspx?xmname=<%# Eval("xmname") %>','center',236,440)">修改</a>
                                                </tr>
                                            </table>
                                            
                                            </ItemTemplate>
                                                <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                                                <SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                                                <AlternatingItemStyle BackColor="White" />
                                                <ItemStyle BackColor="#EFF3FB" />
                                                <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                                            
      </asp:DataList>
    </div>
    </form>
</body>CS文件里的代码
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class manage_test : System.Web.UI.Page
{
    execsql mysql = new execsql();
    protected void Page_Load(object sender, EventArgs e)
    {
        top_link_disp();
    }
    void top_link_disp()
    {
        DataSet ds;
        string sql;
        sql = "select * from sys_options where xm01 like '%题头链接%'";
        ds = mysql.myds(sql);
        DataList1.DataSource = ds;
        DataList1.DataBind();
        ds.Dispose();
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        foreach (DataListItem a in DataList1.Items)
        {
            Label lb = (Label)a.FindControl("Label1");
            bool ischeck = ((CheckBox)a.FindControl("CheckBox1")).Checked;
            if (ischeck == true)
            {
                Response.Write("1");//有选中的记录输出字符串1
            }
            Response.Write(((CheckBox)a.FindControl("CheckBox1")).Text);
            //if (ischecked==true)
            //{
            //    Response.Write("11");
            //}
        }
    }
}

解决方案 »

  1.   

    try protected void Page_Load(object sender, EventArgs e) 
        { 
    if(!Page.IsPostBack)//====
            top_link_disp(); 
        } 
      

  2.   


    protected void Page_Load(object sender, EventArgs e) 
        { 
           if(!Page.IsPostBack)
           {
            top_link_disp(); 
           }    } 
      

  3.   

    的确如二楼所说
    我在datalist绑定数据前面的时候没有加页面post判断
    结构每次刷新页面CheckBox都是新生成的....
    感谢二楼的关注
      

  4.   

    汗,这ID可用分快被我这菜鸟挥豁光了
    准备再问几次问题就注册一个新ID.....