我用TreeView控件做了一个带checkbox节点的树,当用户点击选择若干个节点前面的checkbox后,单击按钮提交,服务器段方法便利树取出被选中的节点的ID存放到ArrayList中,但是这个得到的总是空的ArrayList,不知道这是怎么回事呢?TreeView的加载和显示是没有问题的,请大家帮忙看看,代码如下:public class RoleManagement : System.Web.UI.Page
{
protected Microsoft.Web.UI.WebControls.TreeView TreeView1;
protected System.Web.UI.WebControls.Button BtnSubmit;
private ArrayList checkedNodeList;private void Page_Load(object sender, System.EventArgs e)
{
......}
......//按钮事件处理方法
private void BtnSubmit_Click(object sender, System.EventArgs e)
{
  if (this.TreeView1.Nodes.Count > 0)
  {
    this.checkedNodeList = new ArrayList();
    TreeNodeCollection tnc = this.TreeView1.Nodes;
    for (int i=0;i<tnc.Count;i++)
    {
GetCheckedNodes(tnc[i]);
    }
    //输出选择的权限的数量
    Response.Write(this.checkedNodeList.Count.ToString());

  }
}//递归方法,遍历树返回选中的节点字符串
public void GetCheckedNodes(TreeNode treeNode)
{
  TreeNode node = treeNode;  if (node.Nodes.Count > 0)
  {
    if (node.Checked == true)
    { this.checkedNodeList.Add(node.ID);
    }
    TreeNodeCollection tnc = node.Nodes;
    for (int i=0;i<tnc.Count;i++)
    {
GetCheckedNodes(tnc[i]);
    }
  }
  else
  {
    if (node.Checked == true)
    {
Response.Write(node.ID.ToString());
this.checkedNodeList.Add(node.ID);
    }
  }
}