解决这个问题
就是给你的checkbox加上onclick的js事件
用页面上的一个宽度为0的文本框来记录选择条目的ID
选中的时候写入
取消的时候删除
--
在每次DataBind的时候,察看id是否在文本框里面
如果在,那么设置checkbox的checked为true

解决方案 »

  1.   

    function Select( obj )
    {
    if ( obj.checked )
    {
    document.all.<%= tb_IdNames.ClientID %>.value = document.all.<%= tb_IdNames.ClientID %>.value + obj.value + ",";
    }
    else
    {
    var str1 = obj.value + ",";
    document.all.<%= tb_IdNames.ClientID %>.value = document.all.<%= tb_IdNames.ClientID %>.value.replace( str1,"" );
    }
    }
      

  2.   

    数据邦定的时候
    if ( e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)
    {
        CheckBox cb = (CheckBox)e.Item.FindControl("yourCheckBoxId");
        cb.Attributes.Add("value",e.Item.cells[0].Text);//e.Item.cells[0]是你的ID列,不可见。
        if(tb_IdNames.Indexof("," +e.Item.cells[0].Text + ",") > 0)
            cb.checked = true;
    }
      

  3.   

    同意 brightheroes(闭关|那一剑的风情)  的,在数据邦定的时候,邦定checkbox!!
      

  4.   

    首先感谢brightheroes(闭关|那一剑的风情)及各位朋友的帮助,
    你的方法不错,实现起来也简单,我那时也像你那样设计了一个记录ID的文本框,
    不过除了此方法外,还有没有更简单的方法呢?因为,我要多次使用这种功能,viewstate好象不可以,能否把他写成公用函数呢?