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 :

Compilation automatique d'une classe dans une application web


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    526
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 526
    Par défaut Compilation automatique d'une classe dans une application web
    Bonjour,

    Je voudrais insérer dans mon application web le contrôle HTML editor et personnaliser ses éléments.

    Pour cela, j'ai vu un tuto sur ce site http://dotnet.developpez.com/ajax/aj...ditor-control/
    expliquant la marche à suivre pour un site web (Jusque là, ça marche sans problème).
    Dans celui-ci, il explique qu'il faut insérer la classe CustomEditor que l'on définit dans le dossier App_Code pour qu'elle soit compilé automatiquement.

    Etant dans une application web et pas dans un site web, je n'ai pas ce dossier et je voudrais donc savoir comment je pouvais faire pour que ma classe soit compilée automatiquement.

    Merci.

  2. #2
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    Pour une Web Application, tu n'as pas, et pas besoin de dossier AppCode. Tu peux simplement rajouter ta classe dans la couche UI de ton projet. Dans la page ASPX qui utilise ce contrôle, tu référencie bien ta classe. Et le tour est joué.

    Lorsque tu compileras ta Web Application, ton custom contrôle le sera aussi.

    En espérant t'avoir aidé.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    526
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 526
    Par défaut
    Je pose surement une question stupide mais cela correpond à quelle dossier la couche UI du projet ?

    Et aussi, comment tu fais pour référencer la classe CustomEditor (qui se trouve dans le fichier CustomEditor.cs) dans la page aspx sachant que j'ai déja

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="page.ascx.cs" Inherits="Projet.page" %>
    Merci.

  4. #4
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Tu dois simplement utiliser la directive Register pour référencer ton control.

    Ensuitem on ne parle pas de "dossier", mais de namespace, de couches, d'assemblies, etc.

    Si tu ne fais pas de développement en couche tu peux créer un projet de type class Library que tu nommeras "CustomControlsFaitParMoi" ou un truc du genre. Comme ça tu pourras réutiliser ces contrôles dans d'autres projets Web.
    Et si tu veux vraiment pas te prendre la tête, tu mets ta classe à la racine de ton site...

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    526
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 526
    Par défaut
    Si je met mon fichier CustomEditor.cs à la racine qui est définit par :

    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
    using AjaxControlToolkit.HTMLEditor;
     
    namespace MyControls
    {
        public class CustomEditor : Editor
        {
            protected override void FillTopToolbar()
            {
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.Bold());
                TopToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.Italic());
            }
     
            protected override void FillBottomToolbar()
            {
                BottomToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.DesignMode());
                BottomToolbar.Buttons.Add(new AjaxControlToolkit.HTMLEditor.ToolbarButton.PreviewMode());
            }
        }
    }
    Qu'est que je dois rajouter à ma page aspx car mon contrôle n'est pas reconnu ?

    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
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>
     
    <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
    <%@ Register namespace="MyControls" tagprefix="custom" %>
     
    <!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>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
            <asp:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
            </asp:ToolkitScriptManager>
     
             <custom:CustomEditor 
            Width="450px"  
            Height="200px"
            runat="server" />
     
        </div>
        </form>
    </body>
    </html>
    Merci.

  6. #6
    Membre Expert
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Par défaut
    Bonjour,

    Bizarre qu'il ne trouve pas ton contrôle. As-tu essayé de le référencer dans ton Web.Config ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <system.web>    
      <pages>      
        <controls>        
          <add assembly="TonAssembly" namespace="MyControls" tagPrefix="custom" />      
        </controls>    
      </pages>
    </system.web>
    Cela te permet d'éviter d'avoir à référencer ces contrôles dans chaque page.

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

Discussions similaires

  1. Eval d'une propriété d'une classe dans une classe
    Par bizet dans le forum ASP.NET
    Réponses: 4
    Dernier message: 28/10/2008, 09h43
  2. [POO] dans une classe, appeler une fonction dans une méthode
    Par arnaudperfect dans le forum Langage
    Réponses: 3
    Dernier message: 26/08/2007, 23h04
  3. [POO] Une Classe dans une Classe. C'est possible?
    Par FrankOVD dans le forum Langage
    Réponses: 2
    Dernier message: 18/05/2006, 22h02
  4. [POO] Utilisation d'une classe dans une classe !
    Par Okinou dans le forum Langage
    Réponses: 3
    Dernier message: 16/02/2006, 14h34
  5. Une classe dans une classe...
    Par Baquardie dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/09/2005, 19h36

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