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

📄 pageview.cs

📁 浏览器端看到树型目录结构,用户可以完整地看到像windows资源管理器一样的效果
💻 CS
字号:
//------------------------------------------------------------------------------
// Copyright (c) 2000-2003 Microsoft Corporation. All Rights Reserved.
//------------------------------------------------------------------------------

namespace Microsoft.Web.UI.WebControls
{
    using System;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.ComponentModel;

    /// <summary>
    /// Represents a page in a MultiPage control.
    /// </summary>
    [
    ParseChildren(false),
    PersistChildren(true),
    ToolboxItem(false),
    ]
    public class PageView : BaseRichControl
    {
        private bool _OverrideVisible;
        private MultiPage _Parent;

        /// <summary>
        /// Initializes a new instance of a PageView.
        /// </summary>
        public PageView() : base()
        {
            _OverrideVisible = false;
        }

        /// <summary>
        /// Retrieves the parent MultiPage control.
        /// </summary>
        protected internal MultiPage ParentMultiPage
        {
            get { return _Parent; }
            set { _Parent = value; }
        }

        /// <summary>
        /// Determines the index of this page within the MultiPage's collection of pages.
        /// </summary>
        protected int Index
        {
            get
            {
                MultiPage multiPage = ParentMultiPage;
                if (multiPage == null)
                {
                    return -1;
                }

                return multiPage.Controls.IndexOf(this);
            }
        }

        /// <summary>
        /// Determines if this page is selected.
        /// </summary>
        [Browsable(false)]
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
        public virtual bool Selected
        {
            get
            {
                MultiPage multiPage = ParentMultiPage;
                if (multiPage == null)
                {
                    return false;
                }

                return (multiPage.SelectedIndex == Index);
            }
        }

        /// <summary>
        /// Allows the MultiPage to inform the PageView to override the default
        /// behavior of the Visible property.
        /// </summary>
        internal void OverrideVisible()
        {
            bool selected = Selected;
            if (Visible != selected)
            {
                _OverrideVisible = true;
                Visible = selected;
                _OverrideVisible = false;
            }
        }

        /// <summary>
        /// Gets or sets a value that indicates whether a control should be rendered on the page.
        /// </summary>
        [
        DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden),
        Browsable(false),
        ]
        public override bool Visible
        {
            get { return base.Visible; }

            set
            {
                if (!_OverrideVisible)
                {
                    throw new Exception(Util.GetStringResource("MultiPageErrorVisible"));
                }

                base.Visible = value;
            }
        }

        /// <summary>
        /// Sets this page to be the selected page.
        /// </summary>
        public virtual void Activate()
        {
            MultiPage multiPage = ParentMultiPage;
            if (multiPage != null)
            {
                multiPage.SelectedIndex = Index;
            }
        }

        /// <summary>
        /// Overridden. Verifies certain properties.
        /// </summary>
        /// <param name="e">An EventArgs object that contains the event data.</param>
        protected override void OnInit(EventArgs e)
        {
            if (ParentMultiPage == null)
            {
                throw new Exception(String.Format(GetStringResource("InvalidParentTagName"), new object[] { this.GetType().FullName, typeof(MultiPage).FullName }));
            }

            base.OnInit(e);
        }

        /// <summary>
        /// The rendering path for uplevel browsers.
        /// </summary>
        /// <param name="writer">The output stream that renders HTML content to the client.</param>
        protected override void RenderUpLevelPath(HtmlTextWriter writer)
        {
            AddAttributesToRender(writer);
            writer.RenderBeginTag("MPNS:PageView");

            base.RenderUpLevelPath(writer);

            writer.RenderEndTag();  // MPNS:PageView
            writer.WriteLine();
        }

        /// <summary>
        /// The rendering path for downlevel browsers.
        /// </summary>
        /// <param name="writer">The output stream that renders HTML content to the client.</param>
        protected override void RenderDownLevelPath(HtmlTextWriter writer)
        {
            AddAttributesToRender(writer);
            writer.AddAttribute(HtmlTextWriterAttribute.Valign, "top");
            writer.RenderBeginTag(HtmlTextWriterTag.Td);

            base.RenderDownLevelPath(writer);

            writer.RenderEndTag();
        }

        /// <summary>
        /// The rendering path for visual designers.
        /// </summary>
        /// <param name="writer">The output stream that renders HTML content to the client.</param>
        protected override void RenderDesignerPath(HtmlTextWriter writer)
        {
            if (Visible)
            {
                AddAttributesToRender(writer);
                writer.RenderBeginTag(HtmlTextWriterTag.Div);

                base.RenderDesignerPath(writer);

                writer.RenderEndTag();
            }
        }

        /// <summary>
        /// Loads the previous state.
        /// </summary>
        /// <param name="state">ViewState object.</param>
        protected override void LoadViewState(object state)
        {
            base.LoadViewState(state);
            if (!Visible)
            {
                _OverrideVisible = true;
                Visible = true;
                _OverrideVisible = false;
            }
        }
    }
}

⌨️ 快捷键说明

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