Executé 2 fonction sur un meme evenement

Signaler
Messages postés
34
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
17 juin 2008
-
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
-
Bonjour,
Comme j'ai pu constater sur ce forum, il y a toujours une solution, alors je me demander si qq1 en n'aurais une pour moi :
sur un bouton j'ai besoin d'executer 2 fonctions :
fonction 1 en C#,  Insert / Select SQL coté serveur etc ...;
fonction 2 en javascript, Generation de signer dans word  coté client.
Aujourd'hui je n'ai pas de solution pour executer les 2 actions avec une seule opération de l'utilisateur.
je me demandais, si qq1 aurai une idée, soit pour piloter word en C# coté serveur avec word sur le serveur bien sur; soit d'exécuter mes 2 fonctions une à la suite de l'autre (C# puis javascript) avec une seule intervention de l'utilisateur ???

Merci d'avance...
Olivier

21 réponses

Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
re,

tu peux faire cela de la manière suivante (je pense):

Tu éxécutes ton code côté serveur et à la fin de cette fonction, tu génères un script (javascript) qui appelle ton javascript.
De cette manière, lorsque l'utilisateur clique, la page retourne vers le serveur, exécute insert/update, écrit l'appel à ton javascript.
Lorsque la page est affichée sur le poste client, le javascript se lance automatiquement (grâce au petit bout de javascript que tu as ajouté).

yopyop
Messages postés
34
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
17 juin 2008

Bonjour,


 


merci de ta reponse, mais j'ai un souci c que ma fonction de génération vers word en javascript est sur la page HTLM entre deux balise SCRIPT donc il ne m'est pas pssible de faire un Response.Write()


donc le ne sais pas comment lancer ma fontion qui est dans ma page aspx depuis mon code behind


 


A+


 


Olivier


 
Messages postés
34
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
17 juin 2008

Bonjour,


 


merci de ta reponse, mais j'ai un souci c que ma fonction de génération vers word en javascript est sur la page HTLM entre deux balise SCRIPT donc il ne m'est pas pssible de faire un Response.Write()


donc le ne sais pas comment lancer ma fontion qui est dans ma page aspx depuis mon code behind


 


A+


 


Olivier


 
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
re,
Voici un example en VB:net

================= Page ASPX ============================
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default2.aspx.vb" Inherits="Default2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Page sans titre</title>
    <script language="javascript">
    function SayHello(){
    alert('Hello');
    }
    </script>
</head>

    <form id="form1" runat="server">
   

        &nbsp;
        <hr />
       
        <hr />
       

    </form>

</html>

================= Code Behind ===========================
Partial Class Default2
    Inherits System.Web.UI.Page

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim sb As New System.Text.StringBuilder()

        Try
            'Faire insert dans base
            'Ecrire script pour lancer script
            sb.Append("<script>SayHello();</script>")
            If Not Me.ClientScript.IsClientScriptBlockRegistered("_HelloKey") Then
                Me.ClientScript.RegisterClientScriptBlock(Me.Page.GetType(), "_HelloyKey", sb.ToString())
            End If
        Catch ex As Exception

        End Try
    End Sub
End Class

yopyop
Messages postés
34
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
17 juin 2008

Bonjour,

ton bout de code fonctionne bien sur une appli "vierge" mais sur mon appli j'ai le même message d'erreur que pour un response.write
Càd : Saut de ligne dans la constante !!!!

je pense apres je peux faire erreur mais je crois que le problème viens du fait que j'ai deja des balises script dans mon cde html

Voila c la merde !!!
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
re,

Même si tu as déjà des balises script, cela doit fonctionner.

Peux-tu poster le code de ta page ... ou au moins celui de ton javascript ?

Peut-être que ton script utilise une sting et que dans cette string tu as un caractère spécial ..?

yopyop
Messages postés
34
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
17 juin 2008

Salut et merci beaucoup pour ton aide,
voici le code complet de ma page, je souhaite générer 2 évements sur Enregistrer()
<%@ Page Language= "c#" DEBUG="true" %>
<%@ import Namespace="System.Data.SqlClient" %>
<%@ import Namespace="System.Data.SqlTypes" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.IO" %>
<%@ import Namespace="System" %>
<%@ import Namespace="System.Collections" %>
<%@ import Namespace="System.Globalization" %>
<%@ import Namespace="System.Threading" %>
<script runat="server">


 


 String parametre ="server=ITPC1;uid=sa;pwd=FAXCAY;database=SODEL";


 
 
  
 /***********************************************************
                         Variables de transfert Client-Serveur
         ***********************************************************/


               int tailleA_poste;
               String[] tabA_poste_num;
              String[] tabA_poste_corp;
     String[] tabA_poste_intervenant;
  String[] tabA_poste_montant;
  String[] tabA_poste_tva;
  String[] tabA_poste_montant_TT;
  int tailleB_poste;
               String[] tabB_poste_num;
              String[] tabB_poste_corp;
     String[] tabB_poste_intervenant;
  String[] tabB_poste_montant;
  String[] tabB_poste_tva;
  String[] tabB_poste_montant_TT;


 


 


 




 /***********************************************************
          Chargement de la page
     ***********************************************************/
 void Page_Load (Object o, EventArgs e)
     {
                 
  if (! IsPostBack) // On  charge que la 1ere fois
                {
   
                 String id = Session["id"].ToString();
     
   
   //////////////////////////////////////////////////
   ///Requete pour affichage du bouton Recap Berim //
   /////////////////////////////////////////////////   
   
     SqlConnection conB = new SqlConnection(parametre); 
   String requeteB= "SELECT count(*) AS NBerim FROM POSTE WHERE BERIM='1' AND COM_ID ='"+id+"'";
   // on ouvre la connection
                        conB.Open();
                        // Préparation d'une commande
                        SqlCommand maCommandeB=conB.CreateCommand();
                        maCommandeB.CommandText=requeteB;
                 // Envoie de la requete
                 SqlDataReader resultatB= maCommandeB.ExecuteReader();
                 // On se met sur la ligne de resultats
                 resultatB.Read();
   String NB_berim=(String)resultatB["NBerim"].ToString();
   conB.Close();
   if (NB_berim!="0")
   {
    generer_recap_berim.Visible= true;
    recap_berim_doc.Visible=true;
   }
   else
   {
    generer_recap_berim.Visible= false;
    recap_berim_doc.Visible=false;
   }




   //////////////////////////////////////////////////
   ///Requete pour affichage du bouton Recap  //
   /////////////////////////////////////////////////   
   
     SqlConnection conC = new SqlConnection(parametre); 
   String requeteC= "SELECT count(*) AS Nrecap FROM POSTE WHERE BERIM='0' AND COM_ID ='"+id+"'";
   // on ouvre la connection
                        conC.Open();
                        // Préparation d'une commande
                        SqlCommand maCommandeC=conC.CreateCommand();
                        maCommandeC.CommandText=requeteC;
                 // Envoie de la requete
                 SqlDataReader resultatC= maCommandeC.ExecuteReader();
                 // On se met sur la ligne de resultats
                 resultatC.Read();
   String NB_recap=(String)resultatC["Nrecap"].ToString();
   conC.Close();
   if (NB_recap!="0")
   {
    generer_recap.Visible= true;
    recap_doc.Visible=true;
   }
   else
   {
    generer_recap.Visible= false;
    recap_doc.Visible=false;
   }


 




       


   // On charge la dropdownlist :  CORP D'ETAT
                 /****************************************************************/
                 // Declaration de la connection
   SqlConnection con1 = new SqlConnection(parametre);
                 String requete1 ="SELECT * FROM CORP order by CORP_NOM";
                 con1.Open();
                 SqlDataAdapter mdacorpetat= new SqlDataAdapter(requete1,con1);
                 // Utilisation du SQLDataSet
                 DataSet mdscorpetat= new DataSet();
                 // On donne un nom et on charge le dataSet, grace au SqlAdapter
                 mdacorpetat.Fill(mdscorpetat,"CORP");
                 // On lie le datasource à la dropdownlist
                 corpetat.DataSource=mdscorpetat;
                 corpetat.DataTextField="CORP_NOM"; // nom de la colonne
                 corpetat.DataValueField="CORP_ID"; // nom de la clef
                  corpetat.DataBind();
   con1.Close();
   // On charge la dropdownlist :  INTERVENANT
                 /****************************************************************/
                        
                 requete1 ="SELECT * FROM INTERVENANT order by INTER_NOM";
                 con1.Open();
                 SqlDataAdapter mdaintervenant= new SqlDataAdapter(requete1,con1);
                 // Utilisation du SQLDataSet
                 DataSet mdsintervenant= new DataSet();
                 // On donne un nom et on charge le dataSet, grace au SqlAdapter
                 mdaintervenant.Fill(mdsintervenant,"INTERVENANT");
                 // On lie le datasource à la dropdownlist
                 intervenant.DataSource=mdsintervenant;
                 intervenant.DataTextField="INTER_NOM"; // nom de la colonne
                 intervenant.DataValueField="INTER_ID"; // nom de la clef
                 intervenant.DataBind();
   con1.Close();


   // On charge la dropdownlist : TVA
                         /****************************************************************/
   
                         // Chargement de la dropdownlist periode de facturation
                         requete1 ="SELECT * FROM TVA  ";
                         con1.Open();
                         SqlDataAdapter mdaTva= new SqlDataAdapter(requete1,con1);
                         // Utilisation du SQLDataSet
                         DataSet mdsTva= new DataSet();
                         // On donne un nom et on charge le dataSet, grace au SqlAdapter
                         mdaTva.Fill(mdsTva,"TVA_TAUX");
                         // On lie le datasource à la dropdownlist
                         Tva.DataSource=mdsTva;
                         Tva.DataTextField="TVA_TAUX"; // nom de la colonne
                         Tva.DataValueField="TVA_ID"; // nom de la clef
                         Tva.DataBind();
    con1.Close();




   // Declaration de la connection
   SqlConnection con = new SqlConnection(parametre);                
   String requete = "SELECT count(*) as nb  FROM  POSTE WHERE COM_ID='"+id+"' ";
   // on ouvre la connection
                        con.Open();
                        // Préparation d'une commande
                        SqlCommand maCommande=con.CreateCommand();
                        maCommande.CommandText=requete;
                 // Envoie de la requete
                 SqlDataReader resultat= maCommande.ExecuteReader();
                 // On se met sur la ligne de resultats
                 resultat.Read();
   String nb =(String)resultat["NB"].ToString();
   con.Close();
   if (nb!="0")
   {
    /////////////////////////////////
    ///Tableau des Postes         //
    /////////////////////////////////   
     /// Selection et Affichage des postes dans le repeaterposte correspondant si 1 valeur presente
                //******************************************************************************************************************/
                requete ="SELECT BERIM,POS_NUM,BON_NUM,CORP_NOM,POS_MONTANT,INTER_NOM, (POS_MONTANT*(1+TVA_TAUX/100)) AS POS_MONTANT_TTC,TVA_TAUX,CONVERT(char,POS_DATE_DEBUT,103) AS POSDATEDEBUT,CONVERT(char,POS_DATE_FIN,103) AS POSDATEFIN FROM POSTE, INTERVENANT, CORP,TVA WHERE TVA.TVA_ID=POSTE.TVA_ID AND CORP.CORP_ID=POSTE.CORP_ID AND INTERVENANT.INTER_ID= POSTE.INTER_ID AND COM_ID ='"+id+"'";
    // Utilisation du SQLDataAdapter pour realiser la requete
    con.Open();
                SqlDataAdapter monDataAdapterposte= new SqlDataAdapter(requete,con);
                // Utilisation du SQLDataSet (datasource)
                DataSet monDataSetposte= new DataSet();
                // On donne un nom et on charge le dataSet, grace au SqlAdapter
                monDataAdapterposte.Fill(monDataSetposte,"COM_ID");
                monRepeaterposte.DataSource= monDataSetposte.Tables["COM_ID"].DefaultView;
                monRepeaterposte.DataBind();   
    con.Close();
   
   
    // On crée la requete
                  requete= "SELECT ROUND ( SUM(POS_MONTANT),2 ) AS TOTALHT,ROUND ( SUM(POS_MONTANT*(1+TVA_TAUX/100)),2 ) AS TOTALTTC,ROUND ( SUM(POS_MONTANT*(1+TVA_TAUX/100)-POS_MONTANT),2 ) AS TOTALTVA FROM POSTE, TVA WHERE POSTE.TVA_ID=TVA.TVA_ID AND COM_ID='"+id+"'";
    con.Open();
    // Préparation d'une commande
                  SqlCommand maCommande1=con.CreateCommand();
                  maCommande1.CommandText=requete;
                  // Envoie de la requete
                  SqlDataReader resultat1= maCommande1.ExecuteReader();
                  // On se met sur la ligne de resultats
                  resultat1.Read();
    if (resultat1["TOTALHT"].ToString() !="")
    {
     label2.Visible=true;
     label21.Visible=true;
     label22.Visible=true;
     label2.Text="Total des montants HT : ";
     label21.Text="Total des montants TVA : ";
     label22.Text="Total des montants TTC : ";
     label3.Visible=true;
     label4.Visible=true;
     label5.Visible=true;
           double s2=(double)resultat1["TOTALHT"];
     double s3=(double)resultat1["TOTALTVA"];
     double s4=(double)resultat1["TOTALTTC"];
    
    
     label3.Text=""+s2+"  ? ";
     label4.Text=""+s3+"  ? ";
     label5.Text=""+s4+"  ? ";
    }
    else
    {
     label2.Visible=false;
     label3.Visible=false;
     label4.Visible=false;
     label5.Visible=false;
    }
    con.Close();


    
    
    /////////////////////////////////////////////////
    ///Tableau des Postes pour génération de recap //
    ////////////////////////////////////////////////   
   
    // On crée la requete
    requete1= "SELECT count(*) AS NB FROM POSTE WHERE BERIM='0' AND COM_ID ='"+id+"'";
    // on ouvre la connection
                         con.Open();
                         // Préparation d'une commande
                         SqlCommand maCommande0=con.CreateCommand();
                         maCommande0.CommandText=requete1;
                  // Envoie de la requete
                  SqlDataReader resultat0= maCommande0.ExecuteReader();
                  // On se met sur la ligne de resultats
                  resultat0.Read();
    tailleA_poste=resultat0.GetInt32(0);
    con.Close();


 


    if (tailleA_poste !=0)
    {
    // On crée la requete
                  requete= "SELECT ROUND ( SUM(POS_MONTANT),2 ) AS TOTALHT,ROUND ( SUM(POS_MONTANT*(1+TVA_TAUX/100)),2 ) AS TOTALTTC,ROUND ( SUM(POS_MONTANT*(1+TVA_TAUX/100)-POS_MONTANT),2 ) AS TOTALTVA FROM POSTE, TVA WHERE POSTE.TVA_ID=TVA.TVA_ID AND BERIM='0' AND  COM_ID='"+id+"'";
    // on ouvre la connection
                         con.Open();
                         // Préparation d'une commande
                         SqlCommand maCommande000=con.CreateCommand();
                         maCommande000.CommandText=requete;
                  // Envoie de la requete
                  SqlDataReader resultat000= maCommande000.ExecuteReader();
                  // On se met sur la ligne de resultats
                  resultat000.Read();
    double totalhtre=(double)resultat000["TOTALHT"];
    double totaltvare=(double)resultat000["TOTALTVA"];   
    double totalttcre=(double)resultat000["TOTALTTC"];
    totalhtreloc.Value=totalhtre.ToString().Replace(",",".");
    totaltvareloc.Value=totaltvare.ToString().Replace(",",".");
    totalttcreloc.Value=totalttcre.ToString().Replace(",",".");
    con.Close();
      
    
               


    // Préparation d'une commande
                  SqlCommand maCommandex=con.CreateCommand();
                  maCommandex.CommandText=requete;
   


    requete ="SELECT BERIM,BON_NUM,CORP_NOM,POS_MONTANT,INTER_NOM, (POS_MONTANT*(1+TVA_TAUX/100)) AS MONTANT_TTC,TVA_TAUX,CONVERT(char,POS_DATE_DEBUT,103) AS POSDATEDEBUT,CONVERT(char,POS_DATE_FIN,103) AS POSDATEFIN FROM POSTE, INTERVENANT, CORP,TVA WHERE TVA.TVA_ID=POSTE.TVA_ID AND CORP.CORP_ID=POSTE.CORP_ID AND INTERVENANT.INTER_ID= POSTE.INTER_ID AND BERIM='0' AND COM_ID ='"+id+"'";
    con.Open();
        // Préparation d'une commande
                  maCommandex.CommandText=requete;
        SqlDataReader resultatx= maCommandex.ExecuteReader();
                 


                 tabA_poste_num=new String[tailleA_poste+1];
                  tabA_poste_corp=new String[tailleA_poste+1];
                  tabA_poste_intervenant=new String[tailleA_poste+1];
    tabA_poste_montant=new String[tailleA_poste+1];
    tabA_poste_tva=new String[tailleA_poste+1];
    tabA_poste_montant_TT=new String[tailleA_poste+1];
               
    // On se met sur la ligne de resultat
                  int cpt=0;
                  while ( resultatx.Read())
                  {
         tabA_poste_num[cpt]=resultatx["BON_NUM"].ToString().Trim().Replace("\r\n"," ");
         tabA_poste_corp[cpt]=resultatx["CORP_NOM"].ToString().Trim().Replace("\r\n"," ");
         tabA_poste_intervenant[cpt]=resultatx["INTER_NOM"].ToString().Trim().Replace("\r\n"," ");
     tabA_poste_montant[cpt]=resultatx["POS_MONTANT"].ToString().Trim().Replace("\r\n"," ");
                          tabA_poste_tva[cpt]=resultatx["TVA_TAUX"].ToString().Trim().Replace("\r\n"," ");
     tabA_poste_montant_TT[cpt]=resultatx["MONTANT_TTC"].ToString().Trim().Replace("\r\n"," ");
     cpt++;
    }
   
   
    resultatx.Close();
    con.Close(); 
   
    }
  
    ///////////////////////////////////////////////////////
    ///Tableau des Postes pour génération de recap_berim //
    //////////////////////////////////////////////////////   
   
      // On crée la requete
    requete1= "SELECT count(*) AS NB FROM POSTE WHERE BERIM='1' AND COM_ID ='"+id+"'";
    // on ouvre la connection
                         con.Open();
                         // Préparation d'une commande
                         SqlCommand maCommande00=con.CreateCommand();
                         maCommande00.CommandText=requete1;
                  // Envoie de la requete
                  SqlDataReader resultat00= maCommande00.ExecuteReader();
                  // On se met sur la ligne de resultats
                  resultat00.Read();
    tailleB_poste=resultat00.GetInt32(0);
    con.Close();


    if (tailleB_poste !=0)
    {
    // On crée la requete
                  requete= "SELECT ROUND ( SUM(POS_MONTANT),2 ) AS TOTALHT,ROUND ( SUM(POS_MONTANT*(1+TVA_TAUX/100)),2 ) AS TOTALTTC,ROUND ( SUM(POS_MONTANT*(1+TVA_TAUX/100)-POS_MONTANT),2 ) AS TOTALTVA FROM POSTE, TVA WHERE POSTE.TVA_ID=TVA.TVA_ID AND BERIM='1' AND  COM_ID='"+id+"'";
    // on ouvre la connection
                         con.Open();
                         // Préparation d'une commande
                         SqlCommand maCommande0000=con.CreateCommand();
                         maCommande0000.CommandText=requete;
                  // Envoie de la requete
                  SqlDataReader resultat0000= maCommande0000.ExecuteReader();
                  // On se met sur la ligne de resultats
                  resultat0000.Read();
    double totalhtbe=(double)resultat0000["TOTALHT"];
    double totaltvabe=(double)resultat0000["TOTALTVA"];   
    double totalttcbe=(double)resultat0000["TOTALTTC"];
    totalhtberim.Value=totalhtbe.ToString().Replace(",",".");
    totaltvaberim.Value=totaltvabe.ToString().Replace(",",".");
    totalttcberim.Value=totalttcbe.ToString().Replace(",",".");
    con.Close();
    
    


    // Préparation d'une commande
                  SqlCommand maCommande0x=con.CreateCommand();
                  maCommande0x.CommandText=requete;
   
    requete ="SELECT BERIM,BON_NUM,CORP_NOM,POS_MONTANT,INTER_NOM, (POS_MONTANT*(1+TVA_TAUX/100)) AS MONTANT_TTC,TVA_TAUX,CONVERT(char,POS_DATE_DEBUT,103) AS POSDATEDEBUT,CONVERT(char,POS_DATE_FIN,103) AS POSDATEFIN FROM POSTE, INTERVENANT, CORP,TVA WHERE TVA.TVA_ID=POSTE.TVA_ID AND CORP.CORP_ID=POSTE.CORP_ID AND INTERVENANT.INTER_ID= POSTE.INTER_ID AND BERIM='1' AND COM_ID ='"+id+"'";
    con.Open();
        // Préparation d'une commande
                  maCommande0x.CommandText=requete;
        SqlDataReader resultat0x= maCommande0x.ExecuteReader();
                 


                 tabB_poste_num=new String[tailleB_poste+1];
                  tabB_poste_corp=new String[tailleB_poste+1];
                  tabB_poste_intervenant=new String[tailleB_poste+1];
    tabB_poste_montant=new String[tailleB_poste+1];
    tabB_poste_tva=new String[tailleB_poste+1];
    tabB_poste_montant_TT=new String[tailleB_poste+1];
               
    // On se met sur la ligne de resultat
                  int cpt1=0;
                  while ( resultat0x.Read())
                  {
         tabB_poste_num[cpt1]=resultat0x["BON_NUM"].ToString().Trim().Replace("\r\n"," ");
         tabB_poste_corp[cpt1]=resultat0x["CORP_NOM"].ToString().Trim().Replace("\r\n"," ");
         tabB_poste_intervenant[cpt1]=resultat0x["INTER_NOM"].ToString().Trim().Replace("\r\n"," ");
     tabB_poste_montant[cpt1]=resultat0x["POS_MONTANT"].ToString().Trim().Replace("\r\n"," ");
                          tabB_poste_tva[cpt1]=resultat0x["TVA_TAUX"].ToString().Trim().Replace("\r\n"," ");
     tabB_poste_montant_TT[cpt1]=resultat0x["MONTANT_TTC"].ToString().Trim().Replace("\r\n"," ");
     cpt1++;
    }
   
   
    resultat0x.Close();
    con.Close(); 


    }


   
    
    }
  }// fin du postback
  




  




  


  ////////////////////////////////////////////
  ///Affichage des liens vers les Documents //
  ///////////////////////////////////////////
 
    
  String trav = Session["id"].ToString();


  if (!File.Exists("[file://\\Doc\\recap\\recap_"+trav+".doc \\Doc\\recap\\recap_"+trav+".doc]";
                        recap_doc.Target="_new";
   recap_doc.Enabled=true; 
   generer_recap.Visible= false;
      
  }


  


  if (!File.Exists("[file://\\Doc\\recap\\recap_berim_"+trav+".doc \\Doc\\recap\\recap_berim_"+trav+".doc]";
                        recap_berim_doc.Target="_new";
   recap_berim_doc.Enabled=true;  
    generer_recap_berim.Visible= false;   
  }


  


  if(Session["id"] != null)
              {
   //On recupere l'id en session
                  String id = Session["id"].ToString();
   // On recupere le delais d'execution
                 /**********************************************/
                 // Declaration de la connection
   SqlConnection con = new SqlConnection(parametre);                
   String requete = "SELECT PERIODE.PERI_POID FROM COMMANDE, PERIODE WHERE PERIODE.PERI_ID=COMMANDE.PERI_ID  AND COM_ID='"+id+"' ";
   // on ouvre la connection
                        con.Open();
                        // Préparation d'une commande
                        SqlCommand maCommande0=con.CreateCommand();
                        maCommande0.CommandText=requete;
                 // Envoie de la requete
                 SqlDataReader resultat0= maCommande0.ExecuteReader();
                 // On se met sur la ligne de resultats
                 resultat0.Read();
   
   


   // On recupere les informations sur la commande
                 /**********************************************/
   requete = "SELECT CONVERT(char,(COM_DATE + "+resultat0["PERI_POID"]+") ,103) AS COMDATEFIN, CONVERT(char,COM_DATE,103) AS COMDATE,CONVERT(char,COM_DATE_DEBUT,103) AS COMDATEDEBUT, COM_ID,COM_NUM,LOCATAIRE,AFFECTATION,BATIMENT,ETAGE,PERIODE_TMP,CITE_NOM,DISTRICT_NOM,RESP_NOM FROM COMMANDE,CITE, DISTRICT, RESPONSABLE, PERIODE WHERE DISTRICT.DISTRICT_ID=CITE.DISTRICT_ID AND CITE.RESP_ID=RESPONSABLE.RESP_ID AND PERIODE.PERI_ID=COMMANDE.PERI_ID AND COMMANDE.CITE_ID=CITE.CITE_ID AND COM_ID='"+id+"' ";
   // on ouvre la connection
                        con.Close();
   con.Open();
                        // Préparation d'une commande
                        SqlCommand maCommande=con.CreateCommand();
                        maCommande.CommandText=requete;
                 // Envoie de la requete
                 SqlDataReader resultat= maCommande.ExecuteReader();
                 // On se met sur la ligne de resultats
                 resultat.Read();
   num.Value=(String)resultat["COM_ID"].ToString();
   com_num.Text=(String)resultat["COM_NUM"].ToString();
   locataire.Text =(String)resultat["LOCATAIRE"].ToString();
                     affectation.Text =(String)resultat["AFFECTATION"].ToString();
   batiment.Text =(String)resultat["BATIMENT"].ToString();
   etage.Text =(String)resultat["ETAGE"].ToString();
   date.Text =(String)resultat["COMDATE"].ToString();
   datedebut.Text =(String)resultat["COMDATEDEBUT"].ToString();
   periode.Text =(String)resultat["PERIODE_TMP"].ToString();
   cite.Text =(String)resultat["CITE_NOM"].ToString();
   district.Text =(String)resultat["DISTRICT_NOM"].ToString();
   responsable.Text =(String)resultat["RESP_NOM"].ToString();
   datefin.Text = (String)resultat["COMDATEFIN"].ToString();
   con.Close();
   date_day.Value =DateTime.Now.ToString("dd/MM/yyyy");




  
   }
               else
               {
                  erreur.Text="Problème réseaux :Refaire la sélection";  
               }
                
  }
   
 
 /*****************************************************************************************
        Fonction permettant de déclencher l'évènement validation qui correspond au bouton valider
    *******************************************************************************************/


  void selectionner(Object o, RepeaterCommandEventArgs  e)
  {
   
   try
   {
    String id = Session["id"].ToString();
    String identifiant=((LinkButton)e.CommandSource).Text;
    // Declaration de la connection
    SqlConnection con = new SqlConnection(parametre);                
    // On recupere les informations du poste
                  /**********************************************/
    String requete = "SELECT POS_NUM,INTER_NOM FROM POSTE, INTERVENANT WHERE INTERVENANT.INTER_ID=POSTE.INTER_ID AND BON_NUM='"+identifiant+"' AND COM_ID='"+id+"' ";
    // on ouvre la connection
    con.Open();
                         // Préparation d'une commande
                         SqlCommand maCommande=con.CreateCommand();
                         maCommande.CommandText=requete;
                  // Envoie de la requete
                  SqlDataReader resultat= maCommande.ExecuteReader();
                  // On se met sur la ligne de resultats
                  resultat.Read();
    String Intervenant=(String)resultat["INTER_NOM"].ToString();
    String Identifiant=(String)resultat["POS_NUM"].ToString();
    con.Close(); 
    if (Intervenant=="Atec")
    {
   
     Session.Add("id",id);
     Session.Add("poste_id",Identifiant);
     Response.Redirect("poste.aspx");
    }
    else
    {
    Response.Redirect("cotraitant.aspx");
    }
   
   
                   }
   catch(SqlException err)
   {
   Response.Redirect("erreur.aspx");
   }
  }
/*****************************************************************************************
        Fonction permettant de déclencher l'évènement validation qui correspond au bouton valider
    *******************************************************************************************/


  void Enregistrer(Object o,EventArgs e)
  {
  
   try
   {
   SqlConnection con = new SqlConnection(parametre);
                        // on complete les infos
                        String requete= "INSERT INTO CHRONO (DATE_CHRONO) VALUES ('"+date_day.Value+"')";
                        con.Open();
   // Préparation d'une commande
                        SqlCommand maCommande=con.CreateCommand();
                        maCommande.CommandText=requete;
                        // Envoie de la requete
                        maCommande.ExecuteNonQuery();
       con.Close(); 
   //////////////////////////////////////////////////////////////////////////////////////////
   ///  ICI declanchement de la fonction générer coté client /////
   ////////////////////////////////////////////////////////////////////////////////////////

                     
   }
   catch(SqlException err)
   {
   Response.Redirect("erreur.aspx");
   }
  }
 /*****************************************************************************************
        Fonction permettant de déclencher l'ajout d'un poste "ajouter"
    *******************************************************************************************/


 void ajout_poste(Object o,EventArgs e)
  { 


   
   String id = Session["id"].ToString(); 
   String scorpetat= corpetat.SelectedItem.Value;
                String sintervenant= intervenant.SelectedItem.Value;  
   String sTva= Tva.SelectedItem.Value;
   String sberim="";
  try
  { 


   if (berim.Checked != true)
          {
    sberim = "0";
        }
   else
    {
    sberim = "1";
       
    }
   
   SqlConnection con = new SqlConnection(parametre);
                        // on complete les infos
                        String requete= "INSERT INTO POSTE (COM_ID,BON_NUM,INTER_ID,CORP_ID,BERIM,POS_MONTANT,POS_DATE_DEBUT,POS_DATE_FIN,TVA_ID) VALUES ('"+num.Value+"','"+bon.Text.Replace("'","''")+"','"+sintervenant+"','"+scorpetat+"','"+sberim+"','"+montant.Text.Replace("'","''")+"','"+pdatedebut.Text+"','"+pdatefin.Text+"','"+sTva+"')";
                        con.Open();
   // Préparation d'une commande
                        SqlCommand maCommande=con.CreateCommand();
                        maCommande.CommandText=requete;
                        // Envoie de la requete
                        maCommande.ExecuteNonQuery();
       con.Close();
   
   


   
   
   Response.Redirect("macommande.aspx");
                }
  catch(SqlException err)
  {
  Response.Redirect("erreur.aspx");
  }
  }


 


</script>


<html>
<head><script language="JavaScript"> 
 


 function SayHello()
 {
     alert('Hello');
 } 
 
        var g_Debug=false;


        function GetNewDocOnTemplate(p_TemplateUrl)
        {
        var l_WordApp = new ActiveXObject("Word.Application");
        if (g_Debug) l_WordApp.Visible=true;
        l_WordApp.Documents.Add(p_TemplateUrl);
        return l_WordApp;
        }


       
        function NewPropertyOnDoc(p_WordApp,p_PropertyName,p_PropertyValue,p_PropertyType){
         p_WordApp.ActiveDocument.CustomDocumentProperties.Add(p_PropertyName,false,p_PropertyType,p_PropertyValue,0);
        //Attention les champs sont mis  jour dans SaveAndQuitDocTo
        }




       
        function SaveAndQuitDocTo(p_WordApp,p_SaveUrl)
        {
        // p_WordApp.ActiveDocument.Fields.Update();//Met  jour les champs dans le document
  
  p_WordApp.ActiveDocument.Fields.Update(); //modif OBEL 29/12/2004 compatibilité office 2003 et XP
  
  for(i=1;i<=p_WordApp.ActiveDocument.Sections.Count;i++)
  {
   p_WordApp.ActiveDocument.Sections(i).Headers(1).Range.Fields.Update();
   p_WordApp.ActiveDocument.Sections(i).Footers(1).Range.Fields.Update();
   p_WordApp.ActiveDocument.Sections(i).Headers(2).Range.Fields.Update();
   p_WordApp.ActiveDocument.Sections(i).Footers(2).Range.Fields.Update();
  } 


     
   if (!g_Debug) {
        p_WordApp.ActiveDocument.SaveAs(p_SaveUrl);
        p_WordApp.Quit(false);
        }
        delete p_WordApp;       
        }




/****************************************************************************************************************************************/
//    Fonction assurant la génération du TABLEAU DES RECAP
/****************************************************************************************************************************************/
 
            var tailleA_poste;      
            tabA_poste_num= new Array();
            tabA_poste_intervenant= new Array();
            tabA_poste_corp=new Array();
     tabA_poste_montant= new Array();
     tabA_poste_tva=new Array();
            tabA_poste_montant_TT=new Array();
          
         function init_posteA(poste_num,poste_corp,poste_intervenant,poste_montant,poste_tva,poste_montant_TT,indice)
            {
               
  tabA_poste_num[indice]= poste_num;
             tabA_poste_corp[indice]= poste_corp;
  tabA_poste_intervenant[indice]= poste_intervenant;
      tabA_poste_montant[indice]= poste_montant;
      tabA_poste_tva[indice]= poste_tva;
             tabA_poste_montant_TT[indice]= poste_montant_TT;


            }


        function init_tailleA_poste(val)
            {   
                tailleA_poste=val;   
            }


/****************************************************************************************************************************************/
//    Fonction assurant la génération du TABLEAU DES RECAP berim
/****************************************************************************************************************************************/
 
            var tailleB_poste;      
            tabB_poste_num= new Array();
            tabB_poste_intervenant= new Array();
            tabB_poste_corp=new Array();
     tabB_poste_montant= new Array();
     tabB_poste_tva=new Array();
            tabB_poste_montant_TT=new Array();
          
         function init_posteB(poste_num,poste_corp,poste_intervenant,poste_montant,poste_tva,poste_montant_TT,indice)
            {
               
  tabB_poste_num[indice]= poste_num;
             tabB_poste_corp[indice]= poste_corp;
  tabB_poste_intervenant[indice]= poste_intervenant;
      tabB_poste_montant[indice]= poste_montant;
      tabB_poste_tva[indice]= poste_tva;
             tabB_poste_montant_TT[indice]= poste_montant_TT;


            }


        function init_tailleB_poste(val)
            {   
                tailleB_poste=val;   
            }


 


 




    /***********************************************************
                     Generer la fiche recap
    ***********************************************************/
         function generer(choix)
         {
              




  if (choix == 'recap_reloc')
  {
  var g_WordApp=GetNewDocOnTemplate("[../../imgs/menu/veolia.css
    <meta content="MSHTML 6.00.2600.0" name="GENERATOR" />
</head>
 
   
   

           
            ----

                                    <table cellspacing="0" cellpadding="0" width="100%" border="0">
                       
                            ----

                               ,
                                    </td>
                                                                    Ajouter un Chantier ,
                           
                       
                   

                </td>
            </tr>
            <tr>
                <td colspan="3">
                   

                </td>
            </tr>
            <tr>
                <td width="7">
                    </td>
                <td background="../../imgs/box/box_com/tranche_t.gif">
                    </td>
                <td width="7">
                    </td>
            </tr>
            <tr>
                <td background="../../imgs/box/box_com/tranche_l.gif">
                    </td>
                <td>
                    <form runat="server">
                    <!-- LES CONTROLES -->
                        ]
                       
   
                       
   
                       
                        
                              
                                ----

                                                                            <table width="90%" align="center">
                                           
                                                ----

                                                   ,
                                                        <table width=\"90%\" align=\"left\" border=\"0\">
                                                           
                                                                ----

                                                       
         
                                           ,
        
        ----

                                                                                                                                           
                                                                       
         
                                                                        ,
                                                               
        ----

                                                                                                                                            Numéro Interne :
                                                                   ,
                                                                                                                                           
                                                                      ,
                                                                                     Numéro d'affectation :
                                                                   ,
                                                                                                                                           
                                                                   ,
                                                               
        
        ----

                                                                                                                                            Nom du locataire :
                                                                   ,
                                                                                                                                           
                                                                   ,
          
                                                                                 Nom de l'agence :
                                                                   ,
                                                                                                                                           
                                                                   ,
                                                               
        ----

                                                                                                                                            Nom de la cité :
                                                                   ,
                                                                                                                                           
                                                                   ,
                                                                                    Nom du responsable :
                                                                   ,
                                                                                                                                           
                                                                   ,
                                                                       
        ----

                                                                                                                                            Batiment :
                                                                   ,
                                                                                                                                           
                                                                   ,
                                                                                    Date commande :
                                                                   ,
                                                                                                                                           
                                                                   ,
                                                               
        ----

                                                                                                                                            Etage :
                                                                   ,
                                                                                                                                           
                                                                   ,
                                                                                    Date de debut :
                                                                   ,
                                                                                                                                           
                                                                   ,
                                                               
        ----

                                                                                                                                            Délais d'éxécution:
                                                                   ,
                                                                                                                                           
                                                                   ,
                                                                                    Date de fin de chantier :
                                                                   ,
                                                                                                                                           
                                                                   ,
                                                               
        ----

                                                                                                                                            <hr align="center" />
                                                                   ,
                                                               
        ----

                                                                              <table width="90%">
            
          ----
                                                      N° de Bon :
               |
                                                               Berim :
              
|
                                                                  Corp d'état :
              
|
                                                               Co-Traitants :
              
|
                                                               Date de début :
              
|
                                                               Date de fin :
              
|
                                                               Tva :
              
|
                                                               Montant :
              
|
           
     
                                   
                                     
          ----
  
           ,
                                                    
           </td>
                                                               
           ,
                       
           ,
                       
           ,       
                       
           ,
                       
           ,
                       
           ,
                       
           ,
           
                                                                
                                             ,
          
          
         

         </td>
                                                                </tr>
                                                                <tr>
                                                                    <td nowrap ="nowrap" align= "right" colspan="4" height="10">
                                                                        &nbsp;
                                                                    </td>
                                                                </tr>
        <tr>
                                                                     <td align="middle" colspan="4">
                     
          
                                             <HeaderTemplate>
                                 
               ----

                          N°de bon :
             |                                                                   
                        
                         Berim :
            
|
      
                         Corp d'état :
            
|
                         Intervenant :
            
|
                         Date de début :
            
|
               
                         Date de fin :
            
|
                         Montant HT en ? :
            
|
                         Taux Tva en % :
            
|
            
    
            
           
         </HeaderTemplate>
                                             
                                                    
                    ----

                                                                                                            />
                  ,
                         ' />
            ,
                         <%#DataBinder.Eval(Container.DataItem,"CORP_NOM")%>
            ,
                         <%#DataBinder.Eval(Container.DataItem,"INTER_NOM")%>
            ,       
            
                         <%#DataBinder.Eval(Container.DataItem,"POSDATEDEBUT")%>
            ,
                         <%#DataBinder.Eval(Container.DataItem,"POSDATEFIN")%>
            ,
                         <%#DataBinder.Eval(Container.DataItem,"POS_MONTANT")%>
            ,
                         <%#DataBinder.Eval(Container.DataItem,"TVA_TAUX")%>
            ,
                
            
                                        
         
         
         
        

        <!-- On charge -->
               <%           
                      for(int i =0;i<tailleA_poste;i++)
                      {
                   %> <script>
                          init_posteA("<%=tabA_poste_num[i]%>","<%=tabA_poste_corp[i]%>","<%=tabA_poste_intervenant[i]%>","<%=tabA_poste_montant[i]%>","<%=tabA_poste_tva[i]%>","<%=tabA_poste_montant_TT[i]%>",<%=i%>);
                      </script>
               <% 
                     }          
                 
                   %> <script>
                          init_tailleA_poste(<%=tailleA_poste%>);</script>
        <!-- On charge -->
               <%           
                      for(int i=0;i<tailleB_poste;i++)
                      {
                   %> <script>
                          init_posteB("<%=tabB_poste_num[i]%>","<%=tabB_poste_corp[i]%>","<%=tabB_poste_intervenant[i]%>","<%=tabB_poste_montant[i]%>","<%=tabB_poste_tva[i]%>","<%=tabB_poste_montant_TT[i]%>",<%=i%>);
                      </script>
               <% 
                     }          
                 
                   %> <script>
                          init_tailleB_poste(<%=tailleB_poste%>);</script>
                                                      </td> 
        
                                                  </tr>
                                               <tr>
         <td nowrap="nowrap" align="right" colspan="4">
          
           
           
          
           
         </td>
        </tr>
        <tr>
         <td nowrap="nowrap" align="right" colspan="4">
          
           
           
          
           
         </td>
        </tr><tr>
         <td nowrap="nowrap" align="right" colspan="4">
          
           
           
          
           
         </td>
        </tr>


        <tr>
                                                                    <td align="middle" colspan="4" height="20">
                                                                       
          
         
         
         <hr align="center" />
         
         
         
           
                                                                    </td>
                                                                </tr>
        <tr>
        
                                                                     <td align="middle" colspan="4">
                                                                                    
                                                                                ----

             
                                                                         
                                                                  
          ,
             
                                                                         
                                                                  
          ,
             
                                                                           
                                                                       
                       
            </td>
                                                                </tr>
        <tr>
                                                                    <td align="middle" colspan="4" height="20">
                                                                        <hr align="center" />
                                                                    </td>
                                                                </tr>
        <tr>
        
                                                                     <td align="middle" colspan="4">
                                                                                    
                                                                                ----

           
           
           Recap,
               
           recap_berim,
             
                                                                           
                                                                       
                       
            </td>
                                                                </tr>
          </tbody>
                                                        </table>
                                                    </td>
                                                </tr>
                                            </tbody>
                                        </table>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                       
                    </form>
                </td>
                <td background="../../imgs/box/box_com/tranche_r.gif">
                    </td>
            </tr>
            <tr>
                <td>
                    </td>
                <td background="../../imgs/box/box_com/tranche_b.gif">
                    </td>
                <td>
                    </td>
            </tr>
            <tr>
                <td>
                   

                </td>
            </tr>
        </tbody>
    </table>
           
            ----

                                   
               ,
                                    Accueil,
                                   
               ,
                                    Fournisseurs ,
                                   
               ,
                                    Affaires ,
                                   
               ,
                                    D.A. ,
                                   
               ,
                                    A.O. ,
                                   
               ,
                                    Commandes ,
                                   
               ,
                                    Suivi,
                                   
               ,
                                    Bilan ,
                                   
               ,
                                    Déconnexion ,
           

       
   

</html>
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
ouch ...

Voici une page qui fonctionne (en ASP.NET 2.0... vb.net)

<%

@
Page
Language="VB" %>
<!

DOCTYPE
html
PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><

script
runat="server">Private Sub Test()

Response.Write("Test")

End Sub

Private Sub WriteFunctionCall()

Dim sJSCode As String = "<script language=javascript>SayHello();" & "<" & "/script>"

If Not Me.ClientScript.IsClientScriptBlockRegistered("_jsAlert") Then

Me.ClientScript.RegisterClientScriptBlock(Me.GetType, "_jsAlert", sJSCode)

End If

End Sub

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)

Me.Test()

Me.WriteFunctionCall()

End Sub

</

script><

html
xmlns="http://www.w3.org/1999/xhtml"
><

head
runat="server">

<title>Untitled Page
</title>

<script
language="javascript">

function SayHello(){alert(

'Hello');}

</script></

head><

body>

<form
id="form1"
runat="server">

<div>

<asp:Button
ID="Button1"
runat="server"
OnClick="Button1_Click"
Text="Button"
/>

</div>

</form></

body></

html>=========================

J'ai splitter le tag de fermeture car Visual studio me faisait chi...:
Dim sJSCode As String = "<script language=javascript>SayHello();" & "<" & "/script>"

Si tu es en 1.1 je t'envoie un code identique (et cette fois je le ferai en c# )

yopyop
Messages postés
34
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
17 juin 2008

Merci de venir a mon secours !!!
Mais comme je te le disais plus sur une autre page j'ai pas de souci avec ta fonction ou avec n'importe quelle fonction du type Response.Write etc....
mais avec cette page ou j'utilise un tableau entre 2 balises Script pour ma generation de tableau de variable vers word est là ça merde :

 <!-- On charge -->
               <%           
                      for(int i=0;i<tailleA_poste;i++)
                      {
                   %> <script>
                          init_posteA("<%=tabA_poste_num[i]%>","<%=tabA_poste_corp[i]%>","<%=tabA_poste_intervenant[i]%>","<%=tabA_poste_montant[i]%>","<%=tabA_poste_tva[i]%>","<%=tabA_poste_montant_TT[i]%>",<%=i%>);
                      </script>
               <% 
                     }          
                 
                   %> <script>
                          init_tailleA_poste(<%=tailleA_poste%>);</script>
        <!-- On charge -->
               <%           
                      for(int i=0;i<tailleB_poste;i++)
                      {
                   %> <script>
                          init_posteB("<%=tabB_poste_num[i]%>","<%=tabB_poste_corp[i]%>","<%=tabB_poste_intervenant[i]%>","<%=tabB_poste_montant[i]%>","<%=tabB_poste_tva[i]%>","<%=tabB_poste_montant_TT[i]%>",<%=i%>);
                      </script>
               <% 
                     }          
                 
                   %> <script>
                          init_tailleB_poste(<%=tailleB_poste%>);</script>

je pense que c cette parti de code qui fou le bordel ....

++++
Messages postés
34
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
17 juin 2008

j'ai fait des tests pas concluants !!
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
oki,

donc je pense que lorsque tu passes des string en paramètres, celles-ci (ou l'une de celle-ci) contient un " ou un retour à la ligne  ...

par example (je n'écris pas tout car je suis un fénéant )


<script>
 init_posteB("<%=tabB_poste_num[i]%>","<%=tabB_poste_corp[i]%>", ...);
</script>

Admettons que pour i=10 tu as :
A: tabB_poste_num[10]->"Bonjour, saut de
ligne"
B: tabB_poste_corp[10]->"Bonjour la "quote" qui casse tout "

Ton script sera généré sous la forme suivante:
<script>
 init_posteB("Bonjour, saut de
ligne","Bonjour la "quote" qui casse tout ", ...);
</script>

Le cas A (saut de ligne) fait que l'instruction javascript est coupée ... cela semble correspondre au message d'erreur que tu as indiqué
Le cas B peut également poser problème car il faut doubler les quotes.

Si je me souviens bien, le retour à la ligne en Javascript c'est \n.
Et si tu veux qu'une single quote ' ne soit pas mal interprétée tu la replace par \'.
Comme tu utilises les doubles quotes " dans tes appels de fonction JS, il te faut les doubler lorsque tu passes des strings,

Pour le retour à la ligne... <%=maString[i].Replace(Environment.NewLine,"\n")%>

J'ai remplacé le retour à la ligne par \n... mais tu dois le remplacer par quelque chose de compréhensible pour ton fichier output...

Juste pour voir si c'est bien ça le problème, remplaces simplement tes retours à la ligne par rien, idem pour les double quotes...
tu verrais rapidement si le problème vient de là...

yopyop
Messages postés
34
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
17 juin 2008

Ok, j'ai trouvé le code qui va bien mais il y a toujours un MAIS :

string test="recap_reloc";
Response.Write("<script>alert("" + test + "")"+"<"+"/script>");

*Voila le MAIS

si Response.Write("<script>SayHello();"+"<"+"/script>");

ben la j'ai plus de message d'erreur par contre Objet Attendu      !!!!!!!!!!!!!

Ah !!!!!!!!!!! je craque !!!!!!
en fait il apparait que je ne peux lancer que des fonctions native pas de fonction que je declare dans mon head ??!!!!???

As tu une idée yopyop ????
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
Re,

Evite le Response.write ...

Dans ton butto, après avoir fait ce que tu veux côté serveur, tu mets

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim sb As New System.Text.StringBuilder()


        Try
            'Faire insert dans base
            'Faire autre chose du côté serveur

            'Ecrire script pour lancer script
            sb.Append("<script>SayHello();</script>")
      
            'Pour ASP_NET 2.0
            'If Not Me.ClientScript.IsClientScriptBlockRegistered("_HelloKey") Then
             '   Me.ClientScript.RegisterClientScriptBlock(Me.Page.GetType(), "_HelloyKey", sb.ToString())
            'End If

         'Pour la 1.1
         'Me.RegisterClientScriptBlock("_HelloKey", sb.ToString())
        Catch ex As Exception
   Throw
   End Try
    End Sub

yopyop
Messages postés
34
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
17 juin 2008

Merci d'etre si cool yopyop!!!

J'ai essayé comme cela
StringBuilder sb = new StringBuilder();
sb.Append("<head><script language=JavaScript>generer ('recap_reloc');"+"<"+"/script></head>");
 this.RegisterClientScriptBlock("clientScript", sb.ToString());
ou
this.ClientScript.RegisterClientScriptBlock(this.Page.GetType(), "clientScript", sb.ToString());
mon souci c'est que j'ai des variables recupérer grace à
var num = window.document.getElementById("num").value;
et là booom je n'ai pas la valeur des variables...
Autre chose j'ai essayer de mettre cela dans un label en fin de page html
à la place de Register ....
message.Text = sb.ToString();
alors là je recupère la valeur de mes variables mais j'ai une erreur sur ma page qui ne ce rafraichi pas correctement !!! il faut que j'appuis 20 fois sur recommencer !!!

En fait tous viens de cette putain de génération de fichier WORD coté client !!
Mais j'ai pas de solution pour le moment pour générer des word coté serveur en c#.
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
re,
Tu es en ASPX 1.1 ou 2.0 ?

il ne faut pas utiliser
sb.Append("<head><script language= JavaScript>generer ('recap_reloc');"+"<"+"/script> </head> ");

mais
sb.Append("<script language =JavaScript>generer ('recap_reloc');"+"<"+"/script>");

T u peux aussi essayer RegisterStartupScript
ou
RegisterClientScriptBlock

Concernant :
var num = window.document.getElementById("num").value;

Fais un view source afin de voir si l'élément "num" existe bien... parfois le moteur de rendering d'asp.net modifie les id des éléments html.

Petite question:
J'espère que le but n'est pas de générer un document Word sur le serveur, mais bien sur le poste client... sinon je ne pense pas que cela fonctionnnera (actuellement tu sauves tout sur \\localhost... qui se trouve sur ta machine... le jour où tu mets ça sur un site internet/intranet, cela ne fonctionnera plus).

yopyop
Messages postés
34
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
17 juin 2008

Aspx 2.0 c#
j'ai essayer en 1.1 et en 2.0
pour le head j'avais déja essayé, avec body aussi, même resultat...

pour la valeur de num la valeur est correcte mais indefini  avec les fonctions RegisterStartupScript ou RegisterClientScriptBloc

pour la petite question qui fait rire bien !!!!  evidement qu'aujourd'hui je cherche a générer code coté client il faudra effectivement que je change le chemin et que je configure correctement le compte du poll d'app de IIS 6 pour que la génération fonctionne du client vers un repertoire du serveur...

je n'en suis pas encore là mais piloter word uniquement sur le serveur sans transphert de données entre le client et le serveur cela serai pas mal, au moins je ne me ferais pas chier, je serais toujours en code behind !!! enfin si tu as un tuto en c# je prends...

pour ce qui est de l'admin W2K3 je suis au top !!! pour la prog c pas trop ça je suis un peux rouiller ça fait 10 ans que je n'avais pas fait de code alors bien sur c rouiller, surtout que C# ça n'existait pas !!! LOL l'ancètre !!!

Alors   je crois que les fonctions que je dois utiliser pour générer son un peux complexe quand je combine l'insert SQL et la génération vers word js !! les deuxx séparement ça marche du feu de dieux

A+
Olivier
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
re ton code aurait été beaucoup plus clair si tu avais utilisé le code behind...

PS:
désolé pour la question, mais on voit des trucs scpae des fois sur ce site

yopyop
Messages postés
34
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
17 juin 2008

Effectivement, c'est bien pour cela que je cherche à lancer mon script Js coté serveur cela me permettra de séparer en 2 fichiers un .aspx et un .cs et j'y vérais plus clair moi aussi !!!! LOL

en fait le code qui fonction bien aujourd'hui et un input avec un evement js qui lance mes fonction de génération coté client et là it's beautiful !!! mais il faut que j'aille plus loin j'ai besoin d'enregistrer dans ma base les informations quand ou part qui a été générer le fichier !!!

tu aurais pas une idée pour lancer ma génération sur le serveur en pilotant word depuis le c# par hazard ??
Messages postés
586
Date d'inscription
lundi 7 janvier 2002
Statut
Membre
Dernière intervention
10 février 2010
1
yop,

en fait tu peux tout à fait générer un fichier Word sur le serveur, mais il faut qu'il soit installé sur le serveur (tu peux faire de l'automation en c# tout comme en js)...

mais c'est assez déconseillé car si ton process plante, cela peut rendre le serveur instable....

au fait, pourquoi générer un fichier Word ? Pourquoi pas un PDF ?

yopyop
Messages postés
34
Date d'inscription
lundi 4 août 2003
Statut
Membre
Dernière intervention
17 juin 2008

Bonjour, merci encore de ton aide,
effectivement il est tout a fait consevable de faire du pdf car il est exclu que l'utilisateur puisse faire une modif sur le doc générer, en fait dans mon code il ya une fonction en js qui générer en pdf mais c'est pas cool car je suis obligé d'acrobat sur tous les postes clients.... 
peut -on enregistrer le pdf en auto sur le serveur dans un rep spécifique avec le nom prédéfini ?

si tu as qqchose dans le genre je prend Aussi !!!

il y a til moin de chance que ça plante ?? et pour le modèle de document, quid du  format ??? 

A+
Olivier