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 :

WebControl et erreur dans l'éditeur en mode Design


Sujet :

ASP.NET

  1. #1
    Membre actif Avatar de MicaelFelix
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    254
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 254
    Points : 221
    Points
    221
    Par défaut WebControl et erreur dans l'éditeur en mode Design
    Bonjour,

    J'ai une erreur gênante au niveau du mode design (mais au Runtime ça fonctionne très bien) :
    Error Rendering Control - Unnamed1
    An unhandled exception has occured.
    Object reference not set to an instance of an object
    Comme je le dis, au niveau du code aucune erreur, et au lancement du site ASP.Net idem : ça s'affiche parfaitement. C'est juste au niveau de l'éditeur en mode design que ça bug, apparemment il ne sait pas quoi afficher car l'instance est nulle, mais quelle instance et quoi faire? J'ai cherché des erreurs semblables mais je me trouve rarement dans le cas d'un WebControl totalement généré par programmation.

    Voici mon code en entier, très simple : j'hérite de WebControl, j'ai deux propriétés, Code étant la plus importante car elle est requise pour l'appel à GB.Text(Code) qui va chercher dans la mémoire la traduction associée au code passé en paramètre.

    Text.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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    using System;
    using System.ComponentModel;
    using System.Security;
    using System.Security.Permissions;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
     
    namespace Palarc.Controls
    {
        [
        AspNetHostingPermission(SecurityAction.Demand,
            Level = AspNetHostingPermissionLevel.Minimal),
        AspNetHostingPermission(SecurityAction.InheritanceDemand,
            Level = AspNetHostingPermissionLevel.Minimal),
        DefaultProperty("Code"),
        ToolboxData("<{0}:Text runat=\"server\"> </{0}:Text>")
        ]
        public class Text : WebControl
        {
            [
            Bindable(true),
            Category("Appearance"),
            DefaultValue(""),
            Description("Code of the text to translate."),
            Localizable(true),
            PersistenceMode(PersistenceMode.InnerDefaultProperty)
            ]
            public virtual int Code
            {
                get
                {
                    int? i = (int?)ViewState["Code"];
                    return (i == null) ? -1 : (int)i;
                }
                set
                {
                    ViewState["Code"] = value;
                }
            }
     
            [
            Bindable(true),
            Category("Appearance"),
            DefaultValue(""),
            Description("The text to display.")
            ]
            public virtual string Value
            {
                get
                {
                    string s = (string)ViewState["Value"];
                    return (s == null) ? GB.Text(Code) : s;
                }
                set
                {
                    ViewState["Value"] = value;
                }
            }
     
            protected override void Render(HtmlTextWriter output)
            {
                if (Value == null || Value == String.Empty)
                {
                    Value = "Not translated";
                }
                output.WriteEncodedText(Value);
            }
        }
    }
    Au niveau de la page ASPX utilisant le contrôle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <p>
        <palarc:Text Code="149" runat="server" />
        <asp:TextBox ID="Comments" runat="server" TextMode="MultiLine" Rows="4" cols="200"></asp:TextBox>
    </p>
        <p><palarc:Button ID="BtValid" Code="666" runat="server"></palarc:Button></p>
    À noter que je n'ai pas ce problème quand j'hérite d'un contrôle ASP.Net "standard" comme un Button/LinkButton/Label/etc...

    Le designer n'a pas l'air de savoir quoi afficher, c'est un bug gênant pour le développement mais qui n'a pas d'impact au moment du lancement sur ASP.Net.

    Si vous avez une idée n'hésitez pas! Si je trouve la solution je la posterai ici, ça ne doit pas être bien dur mais je cherche depuis quelques heures.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 074
    Points : 12 120
    Points
    12 120
    Par défaut
    Pas de CallStack, pas de StackTrace dans l'affichage du Designer ?

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/03/2015, 11h23
  2. De fausses erreurs dans l'éditeur Java
    Par ChPr dans le forum Eclipse
    Réponses: 7
    Dernier message: 12/08/2012, 13h01
  3. Réponses: 1
    Dernier message: 16/07/2008, 16h22
  4. Changer le mode de sélection de texte dans un éditeur
    Par orl132 dans le forum SWT/JFace
    Réponses: 7
    Dernier message: 05/07/2008, 12h00
  5. Réponses: 0
    Dernier message: 05/02/2008, 14h23

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