una tutorial tomografia tiempo tac son secundarios radiacion puede peligrosos peligroso los hacerse hacer eliminar efectos despues cuanto consecuencias como causa cancer cada asp.net css include stylesheet verify

tutorial - ASP.NET-¿Cómo incluir CSS solo si ya no está incluido?



los tac son peligrosos (3)

Utilizo el siguiente código para incluir dinámicamente un archivo CSS:

HtmlHead head = (HtmlHead)Page.Header; HtmlLink link = new HtmlLink(); link.Attributes.Add("href", Page.ResolveClientUrl("~/App_Themes/Default/StyleSheet.css")); link.Attributes.Add("type", "text/css"); link.Attributes.Add("rel", "stylesheet"); head.Controls.Add(link);

El problema es: quiero hacerlo solo una vez, y solo si ya no está incluido en la página.

¿Cómo verifico si ya está incluido?

Editar:

Las respuestas que me !IsPostBack incluir en la carga de la página usando !IsPostBack no resolverán mi problema, ya que este código estará dentro de un Control de usuario web y mi página puede tener mucho del mismo control de usuario.

Por ejemplo, utilizo el siguiente código para hacerlo con javascript:

if (!Page.ClientScript.IsClientScriptIncludeRegistered("jsScript")) { Page.ClientScript.RegisterClientScriptInclude("jsScript", ResolveUrl("~/Utilities/myScript.js")); }


¿Por qué no en su control de usuario, agregue un valor a HttpContext.Current.Items indicando que la hoja de estilo ya se ha incluido? Esto evitará que tenga que mirar cada control de encabezado para cada instancia del control de usuario.


Lo hizo...

el código que utilicé es el siguiente:

Boolean cssAlrealyIncluded = false; HtmlLink linkAtual; foreach (Control ctrl in Page.Header.Controls) { if (ctrl.GetType() == typeof(HtmlLink)) { linkAtual = (HtmlLink)ctrl; if (linkAtual.Attributes["href"].Contains("datePicker.css")) { cssAlrealyIncluded = true; } } } if (!cssAlrealyIncluded) { HtmlLink link = new HtmlLink(); link.Attributes.Add("href", ResolveUrl("~/Utilities/datePickerRsx/datePicker.css")); link.Attributes.Add("type", "text/css"); link.Attributes.Add("rel", "stylesheet"); Page.Header.Controls.Add(link); }


En la mayoría de los casos, no debería importar si CSS se incluye más de una vez. Por lo general, no es un problema.

EDITAR: El orden solo importa si necesita poder anular los estilos CSS en las hojas de estilo posteriores.

En ASP.NET, puede incluir el CSS en su página maestra (suponiendo que tenga uno) y luego se garantizará que solo se incluya una vez. Como las páginas maestras están disponibles por programación (incluso desde controles de usuario), incluso podría escribir algunas propiedades (o métodos) que le permitan controlar qué elementos externos de CSS incluir cuando.