我在VS2010中使用ajaxtoolkit,用的是网上下的 AjaxControlToolkit.Binary.NET4.zip 
解压缩后,添加引用到我的项目中,在ToolBox中也把控件都加进来了.然后我使用其中的TabContainer控件,
如果是静态设置Tab中的内容,则能正常显示Tab,代码如下:        
            //Clear Tab
            this.TabContainer1.Tabs.Clear();            //Bind Tab
            AjaxControlToolkit.TabPanel tp = new AjaxControlToolkit.TabPanel();
            tp.ID = "333";
            tp.HeaderText = "333";
            TabContainer1.Tabs.Add(tp);            AjaxControlToolkit.TabPanel tp2 = new AjaxControlToolkit.TabPanel();
            tp2.HeaderText = "333";
            tp2.HeaderText = "333";
            TabContainer1.Tabs.Add(tp2);
        但在调式的时候,如果按F11调式,会出现对话框:要找TabContainer.cs文件.
按取消的话出现如下界面:但是按F5继续的话,还是可以出现Tab页面效果的.
但是如果我动态设置Tab内容就连页面效果都没有了,代码如下.
            //Get Menu from DB
            SooChowCCIQ.Services.MenuService MenuSv = new MenuService();
            List<SooChowCCIQ.Domain.Menu> lsMenu = MenuSv.RetrieveAllMenuInfo();
            if (lsMenu.Count <= 0)
                return;            //Clear Tab
            this.TabContainer1.Tabs.Clear();            //Bind Tab
            List<SooChowCCIQ.Domain.Menu> lsMenuLeft = lsMenu;
            foreach (SooChowCCIQ.Domain.Menu EnMenu in lsMenu)
            {
                if (EnMenu.MenuLevel == 3 && EnMenu.ParentMenuId == 23)
                {
                    AjaxControlToolkit.TabPanel tp = new AjaxControlToolkit.TabPanel();
                    tp.HeaderText = EnMenu.MenuName;
                    tp.ID = EnMenu.MenuName;
                    TabContainer1.Tabs.Add(tp);
                }
                else
                {
                    continue;
                }            }
调试的话跟上面同样的错误提示.要找ScriptControlBase.cs
还出现ScriptResource.axd中的错误:然后IE中是空白页,没有任何Tab内容.我在网上看了官方的使用方法介绍,并没有漏掉什么步骤,
 那个<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>也加过了.
 <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>还望高手们相助!!!

解决方案 »

  1.   

    抱歉,图片好像没有,重新发一下,再看看.我在VS2010中使用ajaxtoolkit,用的是网上下的 AjaxControlToolkit.Binary.NET4.zip  
    解压缩后,添加引用到我的项目中,在ToolBox中也把控件都加进来了.然后我使用其中的TabContainer控件,
    如果是静态设置Tab中的内容,则能正常显示Tab,代码如下:  
                //Clear Tab
                this.TabContainer1.Tabs.Clear();            //Bind Tab
                AjaxControlToolkit.TabPanel tp = new AjaxControlToolkit.TabPanel();
                tp.ID = "333";
                tp.HeaderText = "333";
                TabContainer1.Tabs.Add(tp);            AjaxControlToolkit.TabPanel tp2 = new AjaxControlToolkit.TabPanel();
                tp2.HeaderText = "333";
                tp2.HeaderText = "333";
                TabContainer1.Tabs.Add(tp2);
       
         
    但在调式的时候,如果按F11调式,会出现对话框:
    要找TabContainer.cs文件.
    按取消的话出现如下界面:
    但是按F5继续的话,还是可以出现Tab页面效果的.
    http://hi.csdn.net/space-1646655-do-album-picid-724480.html但是如果我动态设置Tab内容就连页面效果都没有了,代码如下.            //Get Menu from DB
                SooChowCCIQ.Services.MenuService MenuSv = new MenuService();
                List<SooChowCCIQ.Domain.Menu> lsMenu = MenuSv.RetrieveAllMenuInfo();
                if (lsMenu.Count <= 0)
                    return;            //Clear Tab
                this.TabContainer1.Tabs.Clear();            //Bind Tab
                List<SooChowCCIQ.Domain.Menu> lsMenuLeft = lsMenu;
                foreach (SooChowCCIQ.Domain.Menu EnMenu in lsMenu)
                {
                    if (EnMenu.MenuLevel == 3 && EnMenu.ParentMenuId == 23)
                    {
                        AjaxControlToolkit.TabPanel tp = new AjaxControlToolkit.TabPanel();
                        tp.HeaderText = EnMenu.MenuName;
                        tp.ID = EnMenu.MenuName;
                        TabContainer1.Tabs.Add(tp);
                    }
                    else
                    {
                        continue;
                    }            }调试的话跟上面同样的错误提示.要找ScriptControlBase.cs
    还出现ScriptResource.axd中的错误:
    然后IE中是空白页,没有任何Tab内容.
    我在网上看了官方的使用方法介绍,并没有漏掉什么步骤,
     那个<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>也加过了.HTML code <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    还望高手们相助!!!
      

  2.   

    问题已解决            //Get Menu from DB
                Services.MenuService MenuSv = new MenuService();
                List<Domain.Menu> lsMenu = MenuSv.RetrieveAllMenuInfo();
                if (lsMenu.Count <= 0)
                    return;            //Bind Tab Content to TabControl
                AjaxControlToolkit.TabContainer tab = new AjaxControlToolkit.TabContainer();            foreach (SooChowCCIQ.Domain.Menu EnMenu in lsMenu)
                {
                    if (EnMenu.MenuLevel == 3 && EnMenu.ParentMenuId == 23)
                    {
                        AjaxControlToolkit.TabPanel ta = new AjaxControlToolkit.TabPanel();
                        ta.HeaderText = EnMenu.MenuName;
                        ta.ID = EnMenu.MenuID.ToString();
                        ta.ContentTemplate = Page.LoadTemplate(EnMenu.MenuAddress);                    //ta.TabIndex = ;
                        //Label lb = new Label();
                        //lb.Text = "你好的具体内容";
                        //ta.Controls.Add(lb);                    tab.Tabs.Add(ta);
                    }
                }            //Add TabContainner to page
                Page.Master.Master.FindControl("MainContent").FindControl("MainClumn").Controls.Add(tab);
    一定要在CS代码中一起动态添加 TabContainner才可以,不能在aspx页面先定义一个,然后往里面加tabpanel,不知道为什么会这样???
    另外,如果使用master page,则要使用上面最后一行的方法加控件,普通页面则使用this.Form.controls.Add()方法.