當前位置: 首頁>>代碼示例>>C#>>正文


C# HierarchicalDataBoundControlDesigner類代碼示例

本文整理匯總了C#中System.Web.UI.Design.WebControls.HierarchicalDataBoundControlDesigner的典型用法代碼示例。如果您正苦於以下問題:C# HierarchicalDataBoundControlDesigner類的具體用法?C# HierarchicalDataBoundControlDesigner怎麽用?C# HierarchicalDataBoundControlDesigner使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


HierarchicalDataBoundControlDesigner類屬於System.Web.UI.Design.WebControls命名空間,在下文中一共展示了HierarchicalDataBoundControlDesigner類的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: GetDesignTimeHtml

//引入命名空間
using System;
using System.IO;
using System.Web;
using System.Drawing;
using System.Web.UI.WebControls;
using System.Web.UI.Design.WebControls;
using System.Collections;
using System.ComponentModel;
using System.Security.Permissions;

namespace Examples.CS.WebControls.Design
{
    // The MyHierarchicalDataBoundControl is a copy of the 
    // HierarchicalDataBoundControl.
    [AspNetHostingPermission(SecurityAction.Demand, 
        Level = AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, 
        Level = AspNetHostingPermissionLevel.Minimal)]
    [Designer(typeof(Examples.CS.WebControls.Design.
        MyHierarchicalDataBoundControlDesigner))]
    public class MyHierarchicalDataBoundControl : 
        HierarchicalDataBoundControl
    {
    } // MyHierarchicalDataBoundControl

    // Override members of the ierarchicalDataBoundControlDesigner.
    [ReflectionPermission(SecurityAction.Demand, Flags=ReflectionPermissionFlag.MemberAccess)]
    public class MyHierarchicalDataBoundControlDesigner : 
        HierarchicalDataBoundControlDesigner
    {
        const string bracketClose = ">";
        const string spanOpen = "<SPAN";
        const string spanClose = "</SPAN>";

        // Return the markup for a placeholder, if the inner markup is empty.
        // For brevity, the code that is used to detect embedded white_space 
        // in the tags is not shown.
        public override string GetDesignTimeHtml()
        {
            // Get the design-time markup from the base method.
            string markup = base.GetDesignTimeHtml();

            // If the markup is null or empty, return the markup 
            // for the placeholder.
            if(string.IsNullOrEmpty(markup))
                return GetEmptyDesignTimeHtml();

            // Make the markup uniform case so that the IndexOf will work.
            string MARKUP = markup.ToUpper();
            int charX;

            // Look for a <span ...> tag.
            if ((charX = MARKUP.IndexOf(spanOpen)) >= 0)
            {
                // Find closing bracket of span open tag.
                if ((charX = MARKUP.IndexOf(bracketClose, 
                        charX+spanOpen.Length)) >= 0)
                {
                    // If the inner markup of <span ...></span> is empty, 
                    // return the markup for a placeholder.
                    if (string.Compare(MARKUP, charX + 1, spanClose, 0, 
                                        spanClose.Length) == 0)

                        return GetEmptyDesignTimeHtml();
                }
            }
            // Return the original markup, if the inner markup is not empty.
            return markup;
        }

        // Shadow the control properties with design-time properties.
        protected override void PreFilterProperties(IDictionary properties)
        {
            string namingContainer = "NamingContainer";

            // Call the base method first.
            base.PreFilterProperties(properties);

            // Make the NamingContainery visible in the Properties grid.
            PropertyDescriptor selectProp =
                (PropertyDescriptor)properties[namingContainer];
            properties[namingContainer] =
                TypeDescriptor.CreateProperty(selectProp.ComponentType,
                    selectProp, BrowsableAttribute.Yes);
        } // PreFilterProperties
    } // MyHierarchicalDataBoundControlDesigner
} // Examples.CS.WebControls.Design
開發者ID:.NET開發者,項目名稱:System.Web.UI.Design.WebControls,代碼行數:88,代碼來源:HierarchicalDataBoundControlDesigner


注:本文中的System.Web.UI.Design.WebControls.HierarchicalDataBoundControlDesigner類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。