protected void Button1_Click(object sender, EventArgs e)
    {
        
      IList<gannt.Resource> list =gannt.ProjectDAL.GetResourceByUid(0);
       
       ArrayList arrResource = gannt.ProjectDAL.GetResources(Convert.ToInt32(this.DropDownList1.SelectedItem.Value.ToString()));
       foreach (ListItem li in this.CheckBoxList1.Items)
       {
           if (li.Selected == true)
           {
               if (!arrResource.Contains(li.Text))//假如选定的项不在该角色已经拥有的列表中,则追加进来
               {
                   if (gannt.ProjectDAL.InsertResource(li.Text, Convert.ToInt32(this.DropDownList1.SelectedItem.Value.ToString())))
                   {
                       Response.Write("<script>alert('tianjai成功 ')</script>");
                   }
                   else
                   {
                       Response.Write("<script>alert('tianjia失败')</script>");
                   }               }
           }
           else
           {
               if (arrResource.Contains(li.Text))//假如不选的项在该角色已经拥有的列表中,则从列表中删除
               {
                   if (gannt.ProjectDAL.DeleteResourceByNameAndProjectUID(li.Text, Convert.ToInt32(this.DropDownList1.SelectedItem.Value.ToString())))
                   {
                       Response.Write("<script>alert('删除成功 ')</script>");
                   }
                   else
                   {
                       Response.Write("<script>alert('删除失败')</script>");
                   }
               }
           }
       }
        Response.Write("<script>alert('权限已生效!!')</script>");
    }不知道为什么else里的代码不执行,原来有的权限现在取消后,删除不掉,怎么回事,?这样写没错吧?

解决方案 »

  1.   

     else没有进去
    设置一个断点看看,看是怎么走的
      

  2.   

    arrResource 这个是从那去过来的?
      

  3.   

    进不去? 你把第一项设成false,跟一下看看
      

  4.   

    调试过了,没问题,问题在Arralist的contains这个方法有毛病
      

  5.   

    this.DropDownList1.SelectedItem.Value.ToString())
    你的DropDownList1绑定放到page_load中试试