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 :

[C#] Comment liés les clases placé dans .cs entre elle


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Chef de projet informatique AXA
    Inscrit en
    Avril 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet informatique AXA
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 40
    Points : 42
    Points
    42
    Par défaut [C#] Comment liés les clases placé dans .cs entre elle
    Boujour à tous le monde.

    Je viens juste de découvrie ce Forum.

    Voilà je suis débutant en ASP.NET et j'utilise pour l'instant WEB-MATRIX.
    Je voulais créer une classe connection :
    dans un fichier clsCnx.cs

    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
    // ClsCnx.cs
    using System;
    using System.Data.SqlClient;
    using System.IO;
     
    namespace Connection
    {
        public class ClsCnx
        {
            public static void Main()
            {
                string strConnexion = "server=(local);database=MARMO;trusted_connection=true";
                try
                {
                    SqlConnection oConnection = new SqlConnection(strConnexion);
                    oConnection.Open();
                }
                catch (Exception e)
                {
                    Console.WriteLine("L'erreur suivante a été rencontrée :" + e.Message);
                }
            }
        }
    }
    dans la page aspx d'appel j'écrit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script runat="server">
     
        Connection.ClsCnx maCnx = new ClsCnx();
    Mais cela ne fonction pas, quand j'éxécute il me retourn ele message suivant
    Message d'erreur du compilateur: CS0246: Le type ou le nom d'espace de noms 'Connection' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)

    Pourtant j'ai bine mis
    </script>
    <!-- #include file="ClassesData\ClsCnx.cs"-->

    Pouvez-vous m'aider.

    Merci

  2. #2
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    dans la page aspx d'appel, met un :


  3. #3
    Membre du Club
    Homme Profil pro
    Chef de projet informatique AXA
    Inscrit en
    Avril 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet informatique AXA
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 40
    Points : 42
    Points
    42
    Par défaut
    Je le met dans la partie HTML, SCript ou dans l'évélenement page_load?

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    Essaye de le mettre avant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Connection.ClsCnx maCnx = new ClsCnx();

  5. #5
    Membre du Club
    Homme Profil pro
    Chef de projet informatique AXA
    Inscrit en
    Avril 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet informatique AXA
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 40
    Points : 42
    Points
    42
    Par défaut
    En fait je crois que je ne sais pas toute la philosophie des page ASP.NET.

    Je conçoit mes projets en UML en chema de classe.
    JE voudrais en fait avoir un fichier .cs par classe.
    Auquel j'ajoute :
    une classe connection pour la liaison ave la base.
    Une classe clsInterfaceData poour accéder à la aux donnée de la abse
    une classe clsInterfaceGraphique qui permet d'afficher les donnée metier.


    Mais sur la page de lancement, je voudrais donc intsancier toute ses classes qui sont dans des fichiers.
    Mais cela ne fait rien

    en ecrivant :
    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
     
    <%@ Page Language="C#" Debug="true" %>
    <%@ import Namespace="System.Data" %>
    <%@ import Namespace="System.Data.SqlClient" %>
    <script runat="server">
     
        // #include file="ClassesData\ClsCnx.cs"
        using Connection;
        Connection.ClsCnx maCnx = new ClsCnx();
        private void Page_Load(object sender, EventArgs e) {
     
            if (!Page.IsPostBack) {
                MgMarmos.SelectedIndex = 0;
                BindMgMarmos();
            }
        }
     
    ....
    </script>
    <!-- #include file="ClassesData\ClsCnx.cs"-->
    <html>
    <head>
    </head>
    il me met
    CS1519: Jeton 'using' non valide dans la déclaration de membres de la classe, structure ou interface
    et le include affiche la classe comme si elle était du texte
    C'est pourquoi je pense que je dois louper quelques chose dans la philosophie de ASP.NET en utilisant WEB-MATRIX.

  6. #6
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    autant pour moi.

    Essaye :

    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
     
    <%@ Page Language="C#" Debug="true" %> 
    <%@ import Namespace="System.Data" %> 
    <%@ import Namespace="System.Data.SqlClient" %> 
    <%@ import Namespace="Connection" %>
    <script runat="server"> 
     
        Connection.ClsCnx maCnx = new ClsCnx(); 
        private void Page_Load(object sender, EventArgs e) { 
     
            if (!Page.IsPostBack) { 
                MgMarmos.SelectedIndex = 0; 
                BindMgMarmos(); 
            } 
        } 
     
    .... 
    </script> 
    <!-- #include file="ClassesData\ClsCnx.cs"--> 
    <html> 
    <head> 
    </head>

  7. #7
    Membre du Club
    Homme Profil pro
    Chef de projet informatique AXA
    Inscrit en
    Avril 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet informatique AXA
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 40
    Points : 42
    Points
    42
    Par défaut
    olé, je dois être bouché, maintenant j'obtiens ce message d'erreur
    Description : Une erreur s'est produite lors de la compilation d'une ressource requise pour répondre à cette demande. Veuillez consulter ci-dessous les détails relatifs à l'erreur en question, puis modifier votre code source de manière appropriée.

    Message d'erreur du compilateur: CS0246: Le type ou le nom d'espace de noms 'Connection' est introuvable (une directive using ou une référence d'assembly est-elle manquante ?)

  8. #8
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut



    Bizarre (mais je dois avouer que je n'ai pas encore trop touché à l'ASP .net alors bon.....)

    Essaye cela :

    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
     
    <%@ Page Language="C#" Debug="true" %> 
    <%@ import Namespace="System.Data" %> 
    <%@ import Namespace="System.Data.SqlClient" %> 
    <%@ import Namespace="Connection" %> 
    <script runat="server"> 
     
        ClsCnx maCnx = new ClsCnx(); 
        private void Page_Load(object sender, EventArgs e) { 
     
            if (!Page.IsPostBack) { 
                MgMarmos.SelectedIndex = 0; 
                BindMgMarmos(); 
            } 
        } 
     
    .... 
    </script> 
    <!-- #include file="ClassesData\ClsCnx.cs"--> 
    <html> 
    <head> 
    </head>

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 652
    Points : 730
    Points
    730
    Par défaut
    Citation Envoyé par Etienne maheu
    C'est pourquoi je pense que je dois louper quelques chose dans la philosophie de ASP.NET en utilisant WEB-MATRIX.
    Ouaip. WebMatrix n'est pas vraiment fait pour le genre de choses que tu veux faire.

    Ce qu'il te faudrait, c'est l'approche avec compilation des .cs dans une (ou plusieurs) DLLs, ce qui te permet ensuite d'accéder aux diverses classes correspondantes depuis n'importe où. Bref fonctionner en termes de projets.

    WebMatrix fonctionne en termes de pages. Chaque page est totalement indépendante des autres, ça ne compile pas l'ensemble des .cs du projet, ça ne connait pas les autres classes des autres fichiers, ça ne connait que ce qui est dans le .aspx de la page, et éventuellement dans le .cs correspondant, s'il y en a un.

    Bref, il y a peut-être moyen de bidouiller WebMatrix pour obtenir un semblant de ce que tu voudrais faire (avec ce genre de #include), mais vraiment, vaut mieux que tu zappes ça et que tu passes à un 'vrai' environnement de développement. Que ce soit de Borland, Microsoft ou autre, du moment que ça te permet de créer un projet dans lequel tu mettras tes classes, tes pages et où tu pourras compiler tout ça.

    Tu sembles vouloir suivre un modèle de développement divisé en couches et orienté objet (hopefully), ce qui est bien, mais WebMatrix n'est pas adapté pour ça, ce qui est mal :)
    Be wary of strong drink.
    It can make you shoot at tax collectors, and miss.

  10. #10
    Membre du Club
    Homme Profil pro
    Chef de projet informatique AXA
    Inscrit en
    Avril 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet informatique AXA
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 40
    Points : 42
    Points
    42
    Par défaut
    MErci beaucoup

    J'en avais bien peur.
    Je vais essayer en compilans déjà et puis j'attendrais ensuite que la société ou je bosse veuille bine acheter un envrion de dev adapté.

    Merci à vous.

    Je marque le problème comme RESOLU

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Je pense avoir le même problème donc j'ai compil" ma classe dans une dll mais après je ne sais pas quoi faire ?
    Où dois-je placer ma dll ?
    Comment faire pour l'utiliser ?
    Merci d'avance

  12. #12
    Membre du Club
    Homme Profil pro
    Chef de projet informatique AXA
    Inscrit en
    Avril 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet informatique AXA
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2004
    Messages : 40
    Points : 42
    Points
    42
    Par défaut
    Il faut mettre ta DLL dans un sous répertoire bin d'ou se trouve tes pages ASP.
    Et ça marche une fois que tu la déclare par le namespace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ import Namespace="MonNameSpace" %>

  13. #13
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup, ça marche nickel !

  14. #14
    Membre à l'essai
    Inscrit en
    Mai 2003
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 23
    Points : 11
    Points
    11
    Par défaut
    J'ai encore petit soucis, désolée !
    Je n'arrive pas à utiliser ma dll dans un autre fichier .cs car j'ai une erreur à la compilation de ma classe qui est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    c:\Développement.Net\Langue.cs(7,11): error CS0246: The type or namespace name  'Acces' could not be found (are you missing a using directive or an assembly reference?)
    Quelqu'un, saurait-il comment résoudre ce problème ?
    Merci d'avance

    En fait, ceci est peut-être simple mais je débute en C# et Web Matrix alors j'avoue que je suis un peu perdue ....

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

Discussions similaires

  1. Réponses: 16
    Dernier message: 25/06/2013, 10h45
  2. Réponses: 3
    Dernier message: 29/12/2004, 17h10
  3. [plugin][tomcat] Comment prendre en compte les jar ?
    Par djodjo dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 08/04/2004, 19h47
  4. [JTable] Comment ne pas afficher les titres ?
    Par FabienBxl dans le forum Composants
    Réponses: 3
    Dernier message: 08/10/2003, 15h01
  5. [][Excel] Comment ne pas détruire les formules ?
    Par flyangelNext dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 08/07/2003, 11h38

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