Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2623 connectés 

  FORUM HardWare.fr
  Programmation
  ASP

  generer du HTML a partir de la page aspx

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

generer du HTML a partir de la page aspx

n°1911722
discmat
Posté le 04-08-2009 à 18:57:58  profilanswer
 

Bien voila, cette fois-ci, mon probleme et beaucoup plus serieux et tres embetant. Premierement excusez mon manque d'accent (qwerty).
J'utilise un CMS mais je le modifis pour que des pages (statiques) soit generees au format html et je les envois sur un autre serveur.
Lors qu'une nouvelle page est cree, ma technique est d'aller la recuperer via requette http , exemple :  

Code :
  1. WebRequest webRequest = WebRequest.Create(http://localhost:1325/test8.aspx);
  2. WebResponse webResponse = webRequest.GetResponse();
  3. Stream streamObject = webResponse.GetResponseStream();


 
Ensuite, je sauvegarde les donnees du "Stream" dans le fichier test8.html. Ce fichier est a premiere vue correcte (donnees, liens css ...) mais mon probleme et qu'il manque dans ce fichier du contenu qui est present lorsque j'accede a test8.aspx avec Mozilla.
 
Par exemple un lien Webresources.axd?.... qui contient le javascript necessaire au menu deroulant.
 
Voici un exemple de difference :
1) source du fichier ASPX :

Code :
  1. <td style="white-space:nowrap;"><a class="Menu1_1" href="/test4.aspx">test4</a></td>


2) source du fichier HTML

Code :
  1. <td nowrap="nowrap"><a href="/test4.html">test4</a></td>


 
On remarque un style plus riche et meme une class qui y est rattache.
Donc pourquoi Mozilla obtient plus de contenu que moi avec un "WebRequest" ?
 
J'espere que vous m'avez compris, n'hesitez a demander des details parce que la je commence a secher.
 
Merci a vous et bonne soiree.
 
PS : je programme en Csharp

mood
Publicité
Posté le 04-08-2009 à 18:57:58  profilanswer
 

n°1911996
discmat
Posté le 05-08-2009 à 15:23:55  profilanswer
 

Ok, il y a deux solutions a ce probleme :
 
1)utiliser un objet httpwebrequest et y ajouter des elements headers comme cela :  
 

Code :
  1. HttpWebRequest webRequest = (HttpWebRequest) WebRequest.Create(uriObject); webRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.13) Gecko/2009073022 Firefox/3.0.13 GTB5 (.NET CLR 3.5.30729)";
  2. webRequest.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
  3. HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();


 
2) override the method render in the template.aspc.cs file like this :
 

Code :
  1. protected override void Render(HtmlTextWriter writer)
  2. {
  3.    using(System.IO.MemoryStream msOur = new System.IO.MemoryStream())
  4.   {
  5.        using(System.IO.StreamWriter swOur = new System.IO.StreamWriter(msOur))
  6.       {
  7.             HtmlTextWriter ourWriter = new HtmlTextWriter(swOur);
  8.             base.Render(ourWriter); ourWriter.Flush(); msOur.Position = 0;
  9.             using(System.IO.StreamReader oReader = new System.IO.StreamReader(msOur))
  10.            {
  11.                 string sTxt = oReader.ReadToEnd(); StreamWriter objReader = null;
  12.                 try {
  13.                        objReader = new StreamWriter(@"C:\mypage.html" ); objReader.Write(sTxt);
  14.                 } finally {
  15.                         objReader.Close(); } Response.Write(sTxt);
  16.                 }
  17.             }
  18.      }


 
J'ai choisis la premiere solution car elel s'applique a une partie de mon site aue j'ai deja beaucoup modifie et il serait compliquer d'appliquer la deuxieme.


Message édité par discmat le 05-08-2009 à 15:24:31

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  ASP

  generer du HTML a partir de la page aspx

 

Sujets relatifs
Eclipse generer UMLFormulaire HTML:Ne pas ouvrir la page suivante si le champ est vide
[HTML/CSS] Affichage version mobileLightbox au demarrage de la Home Page ?
Peut-on encore utiliser les tableaux dans la mise en page ?Quel poids maximum pour une page web ?
Comment insérer du code HTML dans Outlook 2003?Ame charitable pour m'aider à la bonne mise en page d'un myspace
Plus de sujets relatifs à : generer du HTML a partir de la page aspx


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR