Pages

Showing posts with label Link Tag. Show all posts
Showing posts with label Link Tag. Show all posts

Monday, October 10, 2016

ASP.NET Bundling Rendering Media Attribute on Link Tag


Reading this post about making a site mobile friendly, I noticed ASP.NET bundling doesn’t render the media attribute on the HTML link tag.

Quick search, found a solution at stackoverflow:


From the posted solution, I changed it a little.

<!DOCTYPE html>

 

<html class=" js ">

<head>

    <title></title>

    @Styles.Render("~/Styles/Base")

</head>

<body class="master-body" id="index">

To…

@using com.dogPedaler.Models

 

<!DOCTYPE html>

 

<html class=" js ">

<head>

    <title></title>

    @Styles.RenderFormat(BundlesFormats.Screen, "~/Styles/Base")

</head>

<body class="master-body" id="index">



The change includes the namespace to a class with a static property call Screen:

@using com.dogPedaler.Models

The Created Class

namespace com.dogPedaler.Models

{

    public class BundlesFormats

    {

        private const string template = @"<link href=""{0}"" ";

        private const string template2 = @"rel=""stylesheet"" type=""text/css"" media=""{0}"" />";

        public static string Print

        {

            get

            {

                return template + String.Format(template2, "print");

            }

        }

        public static string Screen

        {

            get

            {

                return template + String.Format(template2, "Screen");

            }

        }

        public static string HandHeld

        {

            get

            {

                return template + String.Format(@"rel=""stylesheet"" type=""text/css"" media=""print"" />", "handheld");

            }

        }

 

    }

}

Notice three properties

  • print
  • Screen
  • handheld

There is a reason why the “S” is capitalized. This is a hack for Windows mobile browsers and can be found at:

https://perishablepress.com/the-5-minute-css-mobile-makeover/
 
 
This post is for the purpose of my notes only and sometimes a rant.

“I invented nothing new. I simply assembled the discoveries of other men behind whom were centuries of work. Had I worked fifty or ten or even five years before, I would have failed. So it is with every new thing. Progress happens when all the factors that make for it are ready and then it is inevitable. To teach that a comparatively few men are responsible for the greatest forward steps of mankind is the worst sort of nonsense.”

Henry Ford