2009-09-14 8 views
0

J'ai un problème avec l'aperçu avant impression avec javascript et asp.net mvc. Je prends les données d'une recherche et transmet les données via JSON à une fonction JavaScript:Aperçu avant impression avec javascript non fonctionnel

function preview (content) ( 
      debugger; 
      var result = content.get_response(). get_object(); 
      var json = eval (result); 
      var w = window.open ('Stampa.aspx', "Research Press", "height = 1200, width = 1000, status = yes, toolbar = no, menubar = no, location = no"); 
      w.document.open(); 

      HeadPrint + = "<table border=1>"; 
      CreateTableRicercaHead(); 
      CreateTableRicercaMain (JSON) 
      FootPrint + = "</ table>"; 

      var node = w.document.createTextNode (HeadPrint + + strPrint Footprint); 
      alert (node.data); 
      var divPrint = w.document.getElementById (PrintDocument); 
      // divPrint.innerHTML = HeadPrint + + strPrint footprint; 
      divPrint.appendChild (node); 
      alert (divPrint.appendChild (node)); 

    CreateTableRicercaMain function (data) ( 
      for (var list in data.r) ( 
       strPrint + = "<tr>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. UserID; 
       strPrint + = "</ td>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. Surname; 
       strPrint + = "</ td>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. Name; 
       strPrint + = "</ td>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. Way; 
       strPrint + = "</ td>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. Telephone; 
       strPrint + = "</ td>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. common; 
       strPrint + = "</ td>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. Cap; 
       strPrint + = "</ td>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. Province; 
       strPrint + = "</ td>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. CF; 
       strPrint + = "</ td>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. Data_Versamento; 
       strPrint + = "</ td>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. IdOperatore; 
       strPrint + = "</ td>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. Amount; 
       strPrint + = "</ td>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. Data_inserimento; 
       strPrint + = "</ td>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. Note; 
       strPrint + = "</ td>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. causal 
       strPrint + = "</ td>"; 
       strPrint + = "<td>"; 
       strPrint + = data.r [list]. Nr_CC; 
       strPrint + = "</ td>"; 
      ) 

     ) 


     CreateTableRicercaHead function() ( 
      HeadPrint + = "<tr>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "UserID"; 
      HeadPrint + = "</ th>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "Name"; 
      HeadPrint + = "</ th>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "Name"; 
      HeadPrint + = "</ th>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "Street"; 
      HeadPrint + = "</ th>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "Phone"; 
      HeadPrint + = "</ th>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "common"; 
      HeadPrint + = "</ th>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "Cap"; 
      HeadPrint + = "</ th>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "Province"; 
      HeadPrint + = "</ th>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "Cf"; 
      HeadPrint + = "</ th>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "Data_Versamento"; 
      HeadPrint + = "</ th>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "IdOperatore"; 
      HeadPrint + = "</ th>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "Amount"; 
      HeadPrint + = "</ th>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "Data_inserimento"; 
      HeadPrint + = "</ th>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "Notes"; 
      HeadPrint + = "</ th>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "Cause"; 
      HeadPrint + = "</ th>"; 
      HeadPrint + = "<th>"; 
      HeadPrint + = "Nr_CC"; 


HeadPrint + = "</ th>"; 
     HeadPrint + = "</ tr>"; 
    ) 

et comment vous pouvez voir que j'essaie d'écrire le résultat dans une div avec la méthode innerHTML, parce que si vous écrivez Avec document.write() j'ai remarqué qu'avec les données d'une certaine taille (4000) l'affichage est de 1 minute. , mais le problème est que lorsque j'ouvre le popup, je n'affiche rien est blanc, aussi si je clique droit-> Voir HTML Je ne vois rien.Pouvez-vous m'aider à résoudre ce problème?

+0

Cela semble être un énorme effort à faire pour dupliquer une fonctionnalité que les navigateurs ont intégré. – Quentin

Répondre

0

Vous ne savez pas pourquoi vous ne construisez pas simplement la table sur le côté du serveur où il est préférable de boucler. JavaScript est horrible aux grandes boucles.

Je ne vois pas de w.document.close() dans votre code.

0

Bonjour et merci pour vos réponses, mais aussi le côté serveur avec une certaine quantité de données, la page est affichée très lentement. mon objectif était de passer des données via json, en mettant div.innerHTML avec le résultat, car si je mets sur la même page, je montre 4000 enregistrements en moins d'une seconde. et puis je pensais à ouvrir le document et ensuite lire le div que j'ai créé la page, mais ne fonctionne pas.

Ensuite, vous me conseillez de faire tout côté serveur? Merci

Questions connexes