示例#1
0
        /// <summary>
        /// Add a reference to a CSS file
        /// </summary>
        /// <remarks>
        /// Path can be null, in which case the entry will be ignored. This is useful
        /// as controls can be passed a location for a CSS file that is null indicating
        /// that this control should not be included. This may be that the particular
        /// CSS file has been included in the page in a different way.
        /// </remarks>
        /// <param name="path">
        /// Path to CSS file, this can be relative a complete URI, a relative path,
        /// or a ASP.NET Virtual path (ie start with ~).
        /// </param>
        /// <param name="mediaType">Type of media.</param>
        /// <returns>Fluent interface; returns this</returns>
        public Media AddCss(string path, CssMediaTypes mediaType)
        {
            if (string.IsNullOrEmpty(path))
            {
                return(this);
            }
            this._cssDirty = true;

            // Check if path is already specified
            if (this._css.ContainsKey(path))
            {
                var existingMediaType = this._css[path];
                if (existingMediaType == CssMediaTypes.None)
                {
                    // If existing type is None, need to make sure that
                    // Screen is defined as this is what None means in HTML.
                    this._css[path] = CssMediaTypes.Screen | mediaType;
                }
                else
                {
                    this._css[path] = existingMediaType | mediaType;
                }
            }
            else
            {
                this._css.Add(path, mediaType);
            }
            return(this);
        }
示例#2
0
        /// <summary>
        /// Build media type string.
        /// </summary>
        /// <param name="mediaType">Type of media.</param>
        /// <returns>Media type string.</returns>
        private static string BuildMedia(CssMediaTypes mediaType)
        {
            if (mediaType == CssMediaTypes.None)
            {
                return(string.Empty);
            }
            if (mediaType == CssMediaTypes.All)
            {
                return(" media=\"all\"");
            }

            var output = new List <string>();

            if ((mediaType & CssMediaTypes.Screen) != CssMediaTypes.None)
            {
                output.Add("screen");
            }
            if ((mediaType & CssMediaTypes.Tty) != CssMediaTypes.None)
            {
                output.Add("tty");
            }
            if ((mediaType & CssMediaTypes.TV) != CssMediaTypes.None)
            {
                output.Add("tv");
            }
            if ((mediaType & CssMediaTypes.Projection) != CssMediaTypes.None)
            {
                output.Add("projection");
            }
            if ((mediaType & CssMediaTypes.Handheld) != CssMediaTypes.None)
            {
                output.Add("handheld");
            }
            if ((mediaType & CssMediaTypes.Print) != CssMediaTypes.None)
            {
                output.Add("print");
            }
            if ((mediaType & CssMediaTypes.Braille) != CssMediaTypes.None)
            {
                output.Add("braille");
            }
            if ((mediaType & CssMediaTypes.Aural) != CssMediaTypes.None)
            {
                output.Add("aural");
            }
            return(string.Concat(" media=\"", string.Join(",", output.ToArray()), "\""));
        }
示例#3
0
文件: Wp.cs 项目: rajeshwarn/cs2php
 public static void WpRegisterStyle(string handle, string src, string[] deps, bool ver, CssMediaTypes media = CssMediaTypes.All)
 {
 }
示例#4
0
文件: Wp.cs 项目: rajeshwarn/cs2php
 public static void WpEnqueueStyle(string handle, string src = null, string[] deps = null, string ver = "", CssMediaTypes media = CssMediaTypes.All)
 {
 }