예제 #1
0
        /// <summary>
        /// Adds a stylesheet to the page head tag.
        /// </summary>
        /// <param name="Header">The page head.</param>
        /// <param name="href">The url of the css file you want to add to the page head.</param>
        /// <remarks>Automatically replaces the token {langType} in href with ltr/rtl depending on the current language type.</remarks>
        /// <remarks>Automatically replaces the token {langCode} in href with code of the target language depending on the current language.</remarks>
        public static void AddCssToPageHeader(HtmlHead Header, string href)
        {
            string expandedHref = href;

            var     styleTag    = string.Format("<link href='{0}' rel='stylesheet'/>", expandedHref);
            Literal CustomLinks = (Literal)Header.FindControl("CssLinks");

            if (!CustomLinks.Text.Contains(styleTag))
            {
                CustomLinks.Text += styleTag;
            }
        }
예제 #2
0
        private void AddCssLink(string link, string cssLinkID)
        {
            LiteralControl cssLink = new LiteralControl(link);

            cssLink.ID = cssLinkID;
            HtmlHead pageHead = Page.Header;

            if (pageHead.FindControl(cssLinkID) == null)
            {
                pageHead.Controls.Add(cssLink);
            }
        }
예제 #3
0
        /// <summary>
        /// Adds a script reference to the page head tag.
        /// </summary>
        /// <param name="Header">The page head.</param>
        /// <param name="src">The url of the js file you want to add to the page head.</param>
        /// <remarks>Automatically replaces the token {langType} in src with ltr/rtl depending on the current language type.</remarks>
        /// <remarks>Automatically replaces the token {langCode} in src with code of the target language depending on the current language.</remarks>
        public static void AddJsToPageHeader(HtmlHead Header, string src)
        {
            string expandedSrc = src;



            var     scriptTag   = string.Format("<script src='{0}'></script>", expandedSrc);
            Literal CustomLinks = (Literal)Header.FindControl("JsLinks");

            if (!CustomLinks.Text.Contains(scriptTag))
            {
                CustomLinks.Text += scriptTag;
            }
        }
예제 #4
0
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);

            String url = Page.ResolveClientUrl(ScriptPath + @"Styles/SyntaxHighlighter.css");

            String link = "<link type=\"text/css\" rel=\"stylesheet\" href=\"" + url + "\"></link>";

            LiteralControl cssLink = new LiteralControl(link);

            cssLink.ID = "_cssLink";

            HtmlHead pageHead = Page.Header;

            if (pageHead.FindControl("_cssLink") == null)
            {
                pageHead.Controls.Add(cssLink);
            }
        }
예제 #5
0
        public void IncludeOn(HtmlHead header)
        {
            string includeStr    = this.ResolveUrl(this.url);
            bool   alreadyExists = false;
            HtmlHeaderStyleLink aHTCIncludeControl;

            if (header != null)
            {
                foreach (Control control in header.Controls)
                {
                    aHTCIncludeControl = control as HtmlHeaderStyleLink;
                    if ((aHTCIncludeControl != null) && (String.Compare(aHTCIncludeControl.Url, includeStr, StringComparison.CurrentCultureIgnoreCase) == 0))
                    {
                        alreadyExists = true;
                    }
                }
                if (!alreadyExists)
                {
                    var IncludeCssSection = header.FindControl("IncludeCssSection");
                    IncludeCssSection.Controls.Add(this);
                }
            }
        }
예제 #6
0
        internal static void RegisterStyleSheetResource(Control ctl, string resourceName, string id, bool registerStyleSheetLoader)
        {
            Page   page = ctl.Page;
            bool   useStyleSheetLoader = false;
            string resourceUrl         = GetResourceUrl(resourceName, true);

            ScriptManager sm = ScriptManager.GetCurrent(ctl.Page);

            if (sm != null)
            {
                useStyleSheetLoader = sm.IsInAsyncPostBack;
            }

            if (!useStyleSheetLoader)
            {
                HtmlHead head = page.Header;
                if (head == null)
                {
                    useStyleSheetLoader = true;
                }
                else if (head.FindControl(id) == null)
                {
                    head.Controls.Add(Support.CreateStyleSheetLink(resourceUrl, id));
                }
            }

            if (useStyleSheetLoader)
            {
                Type pageType = page.GetType();
                if (registerStyleSheetLoader)
                {
                    RegisterScriptResource(page, "Micajah.Common.StyleSheetLoader", StyleSheetLoader);
                }
                ScriptManager.RegisterStartupScript(page, pageType, resourceName, string.Format(CultureInfo.InvariantCulture, "Micajah.Common.StyleSheetLoader.getInstance().addStyleSheet(\"{0}\");\r\n", resourceUrl), true);
            }
        }