IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Générer balise <style> dans un document HTML avec HtmlTextWriter


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 982
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 982
    Par défaut Générer balise <style> dans un document HTML avec HtmlTextWriter
    Bonjour,

    Je cherche à générer un document HTML avec HtmlTextWriter et j'ai un peu de mal avec l'ajout de style CSS.
    J'arrive à générer un <div> avec un attribut "class" mais je n'arrive pas à introduire la définition de cette classe.

    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    writer.AddAttribute(HtmlTextWriterAttribute.Class, "important");
    writer.RenderBeginTag(HtmlTextWriterTag.Div); 
    writer.Write("Mon texte")
    writer.RenderEndTag();

    Ce qui me rends ceci :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <div class="important">Mon texte</div>

    Mais il me manque la définition pour que ça fonctionne. J'aimerai inclure ceci sans saisir le texte littérallement
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <style type="text/css">
    .important{
    color: #D8000C;
    background-color: #FFBABA;
    }  
    </style>

    Je précise que je ne suis pas pieds et poings liés avec HtmlTextWriter. S'il y a une autre méthode je suis également preneur.

  2. #2
    Membre émérite
    Avatar de dkmix
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    619
    Détails du profil
    Informations personnelles :
    Localisation : Jamaïque

    Informations forums :
    Inscription : Septembre 2007
    Messages : 619
    Par défaut
    Bonjour,
    Je ne suis pas sur que ce soit la bonne approche.
    La balise <style> se met généralement dans le <head>
    Tandis-que le HtmlTextWriter va écrire la div dans le <body>

  3. #3
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 982
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 982
    Par défaut
    Bonjour,

    En fait, le but n'est pas de réaliser un document respectant les règles établies par le W3C.
    Le but est de faire du log massif qui serait destiné à fournir un rapport détaillé de debug en cas de défaillance sur un programme en production.

    Un document HTML n'ayant pas besoin d'avoir les balises <HTML><HEAD> ou même <BODY> pour s'afficher (en tout cas dans IE9 qui est ma cible), je me contente d'écrire à la fin du fichier chaque fois que c'est nécessaire.
    Je comptais donc écrire le bloc suivant lors de la création du document.
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <style type="text/css">
    .verbose,.information,.warning,.error{
    border: 0px none;
    background-repeat: no-repeat;
    }
    .warning,.error{
    border:1px solid;
    margin:5px 0px;
    padding:5px 5px 5px 5px;
    }
    .verbose{ 
    color: #4F8A10;
    }  
    .information{ 
    color: #00529B;
    }  
    .warning{
    color: #9F6000;
    background-color: #FEEFB3;
    }  
    .error{
    color: #D8000C;
    background-color: #FFBABA;
    }  
    </style>
    <h1>Rapport 2014-02-13T16:58:09</h1>

    et rajouter les bloc <DIV> un par un :
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <h1>Rapport 2014-02-13T16:58:09</h1>
    <div class="verbose">Un bloc de texte verbeux</div>	
    <div class="information">Un bloc de texte d'information</div>
    <div class="information">Un autre bloc de texte d'information</div>
    <div class="warning">Un bloc de texte de warning</div>
    <div class="error">Un bloc de texte d'erreur</div>

    Je précise à nouveau que je ne suis pas pieds et poings liés avec HtmlTextWriter.
    S'il existe un autre objet dans le Framework 4 qui sait le faire, ça me va à partir du moment où il ne faut pas saisir le texte littéralement (évidemment le String.Format n'est pas une solution qui me conviens).

Discussions similaires

  1. [WD14] Creer une balise de type stylesheet dans un document XML
    Par jimmypage dans le forum WinDev
    Réponses: 1
    Dernier message: 20/12/2011, 10h05
  2. Réponses: 0
    Dernier message: 15/03/2008, 09h59
  3. Sauts de ligne dans un document HTML
    Par Atharendil dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 25/10/2007, 23h50
  4. Réponses: 1
    Dernier message: 16/11/2006, 13h33
  5. exportation d'une valeur dans un document html
    Par acd dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/11/2005, 21h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo