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

ASP.NET Discussion :

Problème insertion code C# au sein de code HTLM de .aspx


Sujet :

ASP.NET

  1. #1
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    373
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 373
    Par défaut Problème insertion code C# au sein de code HTLM de .aspx
    Bonjour,

    J'ai un problème dont je n'ai pas trouvé une solution, concernant l'insertion de code C# dans le code HTMl de .aspx

    Je veux faire une boucle sur la balise <ajaxToolkit:TabPanel de <ajaxToolkit:TabContainer pour avoir plusieurs onglets selon un petit nombre de données existant dans une table DB.

    Voici un moceau de mon code:

    Code : 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
    27
    28
    29
    30
    31
     
    <ajaxToolkit:TabContainer ID="TabContainerMagasin" runat="server" ActiveTabIndex="0">
                        <%
                            // Lire la chaîne de connexion à partir de Web.config
                            ConnectionStringSettings connex = ConfigurationManager.ConnectionStrings["ConnectionString1"];
                            string connectString = connex.ConnectionString;
     
                            // Objet connection
                            System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(connectString);
     
                            // SqlCommand
                            System.Data.SqlClient.SqlCommand commandMagasins = new System.Data.SqlClient.SqlCommand("select idmagasin, nommagasin from magasin", connection);
     
                            // Ouverture
                            connection.Open();
     
                            // Objet DataReader
                            System.Data.SqlClient.SqlDataReader reader = commandMagasins.ExecuteReader();
     
                            while (reader.Read())
                            {
                                if (reader["nommagasin"] != System.DBNull.Value)
                                {
                                    string nomMagasin = (string)reader["nommagasin"];
                                    int idMagasin = (int)reader["idmagasin"];
                        %>
                        <ajaxToolkit:TabPanel ID="TabPanel_<%= idMagasin%>" runat="server" HeaderText="<%= nomMagasin %>">
                            <ContentTemplate>
    ...
    .....
    ......
    Ce code m'a donné cet erreur:
    Message d'erreur de l'analyseur: 'TabPanel_<%= idMagasin %>' n'est pas un identificateur valide.
    J'ai enlevé idmagasin comme ceci:
    Code : 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
    27
    28
    29
    30
    31
     
    <ajaxToolkit:TabContainer ID="TabContainerMagasin" runat="server" ActiveTabIndex="0">
                        <%
                            // Lire la chaîne de connexion à partir de Web.config
                            ConnectionStringSettings connex = ConfigurationManager.ConnectionStrings["ConnectionString1"];
                            string connectString = connex.ConnectionString;
     
                            // Objet connection
                            System.Data.SqlClient.SqlConnection connection = new System.Data.SqlClient.SqlConnection(connectString);
     
                            // SqlCommand
                            System.Data.SqlClient.SqlCommand commandMagasins = new System.Data.SqlClient.SqlCommand("select idmagasin, nommagasin from magasin", connection);
     
                            // Ouverture
                            connection.Open();
     
                            // Objet DataReader
                            System.Data.SqlClient.SqlDataReader reader = commandMagasins.ExecuteReader();
     
                            while (reader.Read())
                            {
                                if (reader["nommagasin"] != System.DBNull.Value)
                                {
                                    string nomMagasin = (string)reader["nommagasin"];
                                    //int idMagasin = (int)reader["idmagasin"];
                        %>
                        <ajaxToolkit:TabPanel ID="TabPanel_" runat="server" HeaderText="<%= nomMagasin %>">
                            <ContentTemplate>
    ...
    .....
    ......
    Aussi, le code ci-dessus m'a donné cette exception:

    System.ArgumentException: Une entrée avec la même clé existe déjà.
    Le résultat c'est que j'ai trouvé un grand problème pour insérer un code C# dans le code HTMl de .aspx contrairement aus autres langages comme PHP.

    Merci pour toute aide donnée.

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Par défaut
    Pourquoi faire ça côté aspx ???
    Fais-ça dans le code behind, ce sera non seulement beaucoup plus propre mais qui plus est tu n'auras probablement pas ce problème.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    utilise un SqlDataSource + un Repeater, plutôt que de tout faire à la main...

  4. #4
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    373
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 373
    Par défaut
    Vous avez raison, je vais essayer de faire la boucle dans le code behind.
    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [DOM] insertion de code HTML au sein d'un tableau avec innerHTML
    Par Tanebisse dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 04/11/2008, 14h52
  2. Réponses: 2
    Dernier message: 02/06/2006, 23h16
  3. [Upload] Problème pour uploader un fichier dans mon code
    Par Peuplarchiste dans le forum Langage
    Réponses: 2
    Dernier message: 27/05/2006, 09h48
  4. Executer du code binaire au sein d'un programme
    Par Hidekii dans le forum MFC
    Réponses: 13
    Dernier message: 07/09/2005, 22h10
  5. Réponses: 7
    Dernier message: 12/05/2004, 22h27

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