Il est très simple de charger une feuille de style dynamiquement en asp.net 2.0. Le tag html "head" possède maintenant l'attribut "runat".
<head runat="server">
Cet attribut rend l'entête html accessible dans le script serveur sous l'object "header". Nous pouvons dès lors utiliser la méthode "AddParsedSubObject" en lui passant un objet de type "htmllink".
Voici donc le code ...
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim css As String = ""
Select Case Request.Browser.Browser
Case "IE"
css = "StyleSheetIE.css"
Case Else
css = "StyleSheet.css"
End Select
Dim link As New HtmlLink()
link.Href = css
link.Attributes("type") = "text/css"
link.Attributes("rel") = "stylesheet"
Header.AddParsedSubObject(link)
End Sub
Nous pourrions également passé un objet de type "htmlmeta" pour ajouter dynamiquement des balises "meta" dans l'entête d'une page.
Bon amusement, ...
Régis