后台cs:  
  protected void Page_Load(object sender, EventArgs e)
    {
        ArrayList al;
        if (Session["Controls"] != null)
        {
            al = (ArrayList)Session["Controls"];
            PH.Controls.Clear();
            for (int i = 0; i < al.Count; i++)
            {
                DropDownList ddl = (DropDownList)al[i];
                ddl.SelectedIndexChanged += new EventHandler(dl_SelectedIndexChanged);
                PH.Controls.Add(ddl);
            }
        }
        if (!IsPostBack)
        {
            DataTable dtbl11 = limitedTree.LoadAllrootCategory(out strError);
            CreateControls(dtbl11, 0);
}
}   
 void CreateControls(DataTable dtbl, int CurID)
    {
        ArrayList al;        if (Session["Controls"] == null)
            al = new ArrayList();
        else
        {
            al = (ArrayList)Session["Controls"];
            for (int i = 0; i < al.Count; i++)
            {
                DropDownList ddl_Remove = (DropDownList)al[i];
                if (Convert.ToInt32(ddl_Remove.ID) > CurID)
                {
                    i--;
                    al.Remove(ddl_Remove);
                    PH.Controls.Remove(ddl_Remove);
                }
            }
        }        if (dtbl.Rows.Count > 0)
        {
            DropDownList dl = new DropDownList();
            CurID++;
            dl.ID = CurID.ToString();
            dl.AutoPostBack = true;
            dl.SelectedIndexChanged += new EventHandler(dl_SelectedIndexChanged);
            dl.DataSource = dtbl;            dl.DataTextField = "CategoryName";
            dl.DataValueField = "CategoryID";
            dl.DataBind();
            dl.Items.Insert(0, new ListItem("--请选择--", "0"));
            al.Add(dl);
            PH.Controls.Add(dl);
            Session["Controls"] = al;
        }    }
    void dl_SelectedIndexChanged(object sender, EventArgs e)
    {
        string strEror = string.Empty;
        DropDownList dl = (DropDownList)sender;
        string LBID = dl.SelectedValue;        DataTable dtbl = limitedTree.LoadProductCategoryByPID(Convert.ToInt32(LBID), out strEror);
        CreateControls(dtbl, Convert.ToInt32(dl.ID));
    }   
前台:
<asp:ScriptManager ID="ScriptManager1" runat="server">
                        </asp:ScriptManager>
                        <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                            <ContentTemplate>
                                <asp:PlaceHolder ID="PH" runat="server"></asp:PlaceHolder>
                            </ContentTemplate>
               
         </asp:UpdatePanel>,,运行之后报错:服务器无法在发送http标头之后修改cookie,请问是怎么回事? 这是配置文件   <roleManager cacheRolesInCookie="false"></roleManager>
<httpHandlers >
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx"  validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>