Click here to Skip to main content
15,392,636 members
Articles / Web Development / ASP.NET
Tip/Trick
Posted 20 Feb 2012

Tagged as

Stats

13.4K views
4 bookmarked

Dynamically Register StyleSheet File in ASP.NET

Rate me:
Please Sign up or sign in to vote.
5.00/5 (1 vote)
20 Feb 2012CPOL
How to register a stylesheet file at run time

Sometimes it is useful to register an external stylesheet file at runtime dynamically. For example, when we develop portals, this solution can helpful. Because a portal is a comprehensive web based application and a portal user must be able to implement its requirements.


I have a class in my portal that contains useful functions. The name of the class is Functions. In this class, I have many functions that help impement my requirements in a portal. The register stylesheet function is as follows:


C#
public static bool registerStyleSheetFileDynamic(string styleSheetFilePath, System.Web.UI.Page page)
{
 styleSheetFilePath = page.ResolveClientUrl(styleSheetFilePath);
 if (page != null)
 {
  System.Web.UI.HtmlControls.HtmlHead head = (System.Web.UI.HtmlControls.HtmlHead)page.Header;
  bool isExistStyleSheet = false;
  //head.StyleSheet.RegisterStyle(
  foreach (System.Web.UI.Control item in head.Controls)
  {
    if (item is System.Web.UI.HtmlControls.HtmlLink && 
          ((System.Web.UI.HtmlControls.HtmlLink)item).Attributes["href"] == styleSheetFilePath)
     {
      isExistStyleSheet = true;
     }
  }
  if (!isExistStyleSheet)
  {
   System.Web.UI.HtmlControls.HtmlLink link = new System.Web.UI.HtmlControls.HtmlLink();
   link.Attributes.Add("href", page.ResolveClientUrl(styleSheetFilePath));
   link.Attributes.Add("type", "text/css");
   link.Attributes.Add("rel", "stylesheet");
   head.Controls.Add(link);
  }
  return true;
 }
 return false;
}

In this case I can send my arbitrary page and path of stylesheet file to this method in any point in my portal page and so on. I hope the other parts are clear. Thanks!

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

Saeid.Babaei86
Software Developer FRI
Iran (Islamic Republic of) Iran (Islamic Republic of)
No Biography provided

Comments and Discussions

 
-- There are no messages in this forum --