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 :

propriété d'un System.Web.UI.HtmlControls.HtmlButton


Sujet :

ASP.NET

  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Par défaut propriété d'un System.Web.UI.HtmlControls.HtmlButton
    bonjour a tous, voila je cherche a masquer un bouton de type System.Web.UI.HtmlControls.HtmlButton

    cependant lorsque j'ajoute un attribute "visibility" la page html me retourne un erreur :
    Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
    quelqu'un pourrait-il m'eclairer sur ce point

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Tu pourrais nous montrer la partie du code concernée stp

  3. #3
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Par défaut
    ah excusez moi


    voici les declarations :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    		protected System.Web.UI.WebControls.Label lblWarning;
    		protected System.Web.UI.WebControls.TextBox txtMaladie;
    		protected System.Web.UI.WebControls.Button btnReprendre;
    		protected System.Web.UI.HtmlControls.HtmlButton btnAjouter;
    et le code concerné
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
     
    if (!isSick)
    			{
    								                                      btnReprendre.Attributes.CssStyle.Add("visibility","hidden");
    				lblFin.Attributes.CssStyle.Add("visibility","hidden");
    				lblWarning.Attributes.CssStyle.Add("visibility","hidden");
    				txtMaladie.Attributes.CssStyle.Add("visibility","hidden");
    				btnAjouter.Attributes.CssStyle.Add("visibility","hidden");
    			}

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    .Attributes.Add("style", "visibility: hidden")

  5. #5
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Par défaut
    ca me renvoie toujours une nullexception qu'est ce que j'ai oublié apres la modification que tu m'as donné

  6. #6
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Sur quelle ligne exactement as tu une exception ?

    Tu ne trouves rien à null avec le debugger ? cela m'étonne (beaucoup)

  7. #7
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Ils existent ces contrôles dans la page HTML sous la forme de <asp:xxxx> ?

    Enfin je voulais dire, les tag html ont bien un runat="server" dans la page HTML ?

  8. #8
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Par défaut
    non il n'y pas de runat="server" dans les balises

  9. #9
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Et bien dans ce cas, pourquoi essye tu de les manipuler depuis le code serveur ?

  10. #10
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Parce qu'il a pas pigé comment fonctionne ASP.NET ?

    Pour qu'un contrôle soit disponible côté serveur, il faut le marquer avec l'attribut runat="server" et le déclarer comme protected dans le code-behind. Ton NullException vient du fait que comme le contrôle n'est pas marqué avec runat, il n'est pas instancié lors de l'exécution de la page et donc tous tes membres protected pointent vers null.

  11. #11
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Par défaut
    lol non je suis obligé de faire comme ceci je ne veux pas que lorsque je clic il y a ait un page load et qui me fout tout en l'air je vais donc ensuite utiliser du javascript mais avant faut que je puisse le faire disparaitre

  12. #12
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Marquer un contrôle HtmlButton en runat="server" ne fait pas de PostBack quand on clique dessus... enfin pas par défaut en tout cas.

  13. #13
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Par défaut
    non ca ne marche pas je n epeux pas rajouter runat="server" sur ce genre de bouton apparement

    Parser Error Message: The base class includes the field 'btnAjouter', but its type (System.Web.UI.HtmlControls.HtmlButton) is not compatible with the type of control (System.Web.UI.HtmlControls.HtmlInputButton).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Line 84: 	</TBODY></TABLE><asp:button id="btnReprendre" runat="server" Width="360px" Text="Recalculer"></asp:button><asp:button id="btnValider" runat="server" Width="360px" Text="Valider "
    Line 85: 		CausesValidation="False"></asp:button></DIV></TD>
    Line 86: 	<td align="left"><asp:label id="lblWarning" runat="server"><u><b>Attention :</b></u> <br /> Le traitement de cette fiche<br /> sera suspendu<br /> A partir de la date que vous allez saisir</asp:label><INPUT type="button" value="Ajouter Arrêt " id="btnAjouterArret" runat="server"></td>
    Line 87: 	</TR></TBODY></TABLE></P></fieldset>
    Line 88: <fieldset style="WIDTH: 814px; HEIGHT: 87px; align: left">

  14. #14
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Tu changes la classe dans ton code-behind et ça marche. Où est le problème ?

    D'après le SDK (une aide précieuse) :

    HtmlInputButton : Permet un accès par programme aux éléments HTML <input type= button>, <input type= submit> et <input type= reset> sur le serveur.
    HtmlButton : Permet un accès par programme à la balise HTML <button> sur le serveur.

    CQFD ... tu avais utilisé la mauvaise classe.

  15. #15
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Par défaut
    Citation Envoyé par ronki Voir le message
    lol non je suis obligé de faire comme ceci je ne veux pas que lorsque je clic il y a ait un page load et qui me fout tout en l'air je vais donc ensuite utiliser du javascript mais avant faut que je puisse le faire disparaitre
    Non, il n'y a pas d'obligation à faire un postback. C'est une propriété du contrôle; de plus, il est aisé de bloquer le postback en retournant "false" sur l'exécution de la fonction js. (à vérifier néanmoins, le dev web et moi ça fait deux - et pour longtemps j'espére )

  16. #16
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 54
    Par défaut
    merci de tous vos conseil ma situation s'est debloquée merci pour tout

  17. #17
    Membre expérimenté
    Avatar de SoBaKa
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2006
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2006
    Messages : 242
    Par défaut
    pour masque le bouton tu as essayer ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tonBouton.Attributes.CssStyle.Add("display","none");

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/05/2011, 09h49
  2. Réponses: 5
    Dernier message: 24/11/2006, 20h49
  3. [C# 2.0] Comment hériter de System.Web.UI.Page ?
    Par dymezac dans le forum ASP.NET
    Réponses: 3
    Dernier message: 31/10/2006, 09h08
  4. creer une propriété accèssible via le web
    Par minette dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 01/09/2006, 16h41
  5. [C#] System.Web.Mail
    Par Landolsi dans le forum C#
    Réponses: 13
    Dernier message: 11/11/2005, 14h24

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