⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tabstrip.cs

📁 一个ASP.NET下的中文内容管理和社区系统
💻 CS
字号:
namespace ASPNET.StarterKit.Communities.Admin {

    using System;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Collections;
    using ASPNET.StarterKit.Communities;

    //*********************************************************************
    //
    // Tab Strip Class
    //
    // Used to create the tab strip on the Edit Sections page.
    //
    //*********************************************************************

    [ControlBuilderAttribute(typeof(TabStripControlBuilder))]
    [ParseChildrenAttribute(false)]
    public class TabStrip : WebControl, INamingContainer {


        private bool _isUplevel;
        private ArrayList _tabs = new ArrayList(); 

        //*********************************************************************
        //
        // TabStrip Constructor
        //
        // Determine whether browser is uplevel.
        //
        //*********************************************************************

        public TabStrip() : base() {
            if (Context != null) {
                if ((HttpContext.Current.Request.Browser.Browser == "IE") && (HttpContext.Current.Request.Browser.MajorVersion >= 6))
                    _isUplevel = true;
                else
                    _isUplevel = false;
            }    
        }


        //*********************************************************************
        //
        // AddParsedSubObject Method
        //
        // Only add tabs to the Tabs collection.
        //
        //*********************************************************************

        protected override void AddParsedSubObject(Object obj) {

           if (obj is Tab) 
              _tabs.Add(obj);
        }
        
        
		//*********************************************************************
		//
		// OnPreRender Method
		//
		// Add reference to client-side script.
		//
		//*********************************************************************

		override protected void OnPreRender(EventArgs e) 
		{
			
			if (_isUplevel && !Page.IsStartupScriptRegistered("tabstrip"))
				Page.RegisterStartupScript("tabstrip", String.Format("<script language=\"JavaScript\" Src=\"{0}\"></script>", CommunityGlobals.AppPath + "/scripts/tabstrip.js"));
                
		}
        
        



        //*********************************************************************
        //
        // RenderContents Method
        //
        // Display tabstrip for uplevel browsers.
        //
        //*********************************************************************
        
        override protected void RenderContents(HtmlTextWriter writer) {
            // Dont't render for downlevel browsers
            if (! _isUplevel)
                return;
                
 
            // Display the tabs
            for (int i = 0;i < _tabs.Count; i++) {
                Tab objTab = (Tab) _tabs[i];
                
                writer.AddAttribute(HtmlTextWriterAttribute.Href, String.Format("javascript:showPanel('{0}')", objTab.PanelID));
                writer.RenderBeginTag( HtmlTextWriterTag.A );
                writer.Write( objTab.Text );
                writer.RenderEndTag();
                
                if (i < (_tabs.Count - 1))
                    writer.Write( "&nbsp;|&nbsp;" );
            }        




        }
        
        


    }
    

    //*********************************************************************
    //
    // Tab Strip Control Builder Class
    //
    // Only parse tabs in the tab strip.
    //
    //*********************************************************************
    
    public class TabStripControlBuilder : ControlBuilder { 

       public override Type GetChildControlType(String tagName, IDictionary attributes) {

          if (String.Compare(tagName, "tab", true) == 0) {
             return typeof(Tab);
          }

          return null;
       }
    }
    
    
    //*********************************************************************
    //
    // Tab Class
    //
    // Represents individual tabs in the tab strip.
    //
    //*********************************************************************

    public class Tab : Control {
    
        private string _text;
        private string _panelID;
    
        public string Text {
            get { return _text; }
            set { _text = value; }
        }
    

        public string PanelID {
            get { return _panelID; }
            set { _panelID = value; }
        }

    }

    
    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -