コード例 #1
0
        /// <include file='doc\HyperLinkDesigner.uex' path='docs/doc[@for="HyperLinkDesigner.GetDesignTimeHtml"]/*' />
        /// <devdoc>
        ///    <para>
        ///       Gets the design time HTML of the <see cref='System.Web.UI.WebControls.HyperLink'/>
        ///       control.
        ///    </para>
        /// </devdoc>
        public override string GetDesignTimeHtml()
        {
            HyperLink h            = (HyperLink)Component;
            string    originalText = h.Text;
            string    imageUrl     = h.ImageUrl;
            string    originalUrl  = h.NavigateUrl;

            Debug.Assert(originalText != null);
            Debug.Assert(imageUrl != null);
            Debug.Assert(originalUrl != null);

            bool blankText = (originalText.Trim().Length == 0) && (imageUrl.Trim().Length == 0);
            bool blankUrl  = (originalUrl.Trim().Length == 0);

            bool hasControls = h.HasControls();

            Control[] children = null;

            if (blankText)
            {
                if (hasControls)
                {
                    children = new Control[h.Controls.Count];
                    h.Controls.CopyTo(children, 0);
                }
                h.Text = "[" + h.ID + "]";
            }
            if (blankUrl)
            {
                h.NavigateUrl = "url";
            }

            string html;

            try {
                html = base.GetDesignTimeHtml();
            }
            finally {
                if (blankText)
                {
                    h.Text = originalText;
                    if (hasControls)
                    {
                        foreach (Control c in children)
                        {
                            h.Controls.Add(c);
                        }
                    }
                }
                if (blankUrl)
                {
                    h.NavigateUrl = originalUrl;
                }
            }
            return(html);
        }
コード例 #2
0
        public override string GetDesignTimeHtml()
        {
            string    designTimeHtml;
            HyperLink component   = (HyperLink)base.Component;
            string    text        = component.Text;
            string    imageUrl    = component.ImageUrl;
            string    navigateUrl = component.NavigateUrl;
            bool      flag        = (text.Trim().Length == 0) && (imageUrl.Trim().Length == 0);
            bool      flag2       = navigateUrl.Trim().Length == 0;
            bool      flag3       = component.HasControls();

            Control[] array = null;
            if (flag)
            {
                if (flag3)
                {
                    array = new Control[component.Controls.Count];
                    component.Controls.CopyTo(array, 0);
                }
                component.Text = "[" + component.ID + "]";
            }
            if (flag2)
            {
                component.NavigateUrl = "url";
            }
            try
            {
                designTimeHtml = base.GetDesignTimeHtml();
            }
            finally
            {
                if (flag)
                {
                    component.Text = text;
                    if (flag3)
                    {
                        foreach (Control control in array)
                        {
                            component.Controls.Add(control);
                        }
                    }
                }
                if (flag2)
                {
                    component.NavigateUrl = navigateUrl;
                }
            }
            return(designTimeHtml);
        }