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 :

[2.0]Formulaire viewstat et div


Sujet :

ASP.NET

  1. #1
    Membre chevronné
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Par défaut [2.0]Formulaire viewstat et div
    Bonjour a tous,

    J'ai une page asp.net toute simple dans laquelle je met un formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form id="form1" runat="server">
    </form>
    Le code html généré est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form name="aspnetForm" method="post" action="mapage.aspx" id="aspnetForm">
    <div>
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" 
    value="/wEPDwUKMTE0NzYyNTMxMWRkh41YFHZF3agHXE4Nign+eOUkclA=" />
    </div>
    Mon problème vient du fait que le champ hidden __VIEWSTATE est dans un div.
    Mon formulaire est en haut de la page et comme je définis un margin pour tous les div de la page, le div du viewstate créer un espace vide en haut de la page.

    Y a t'il un moyen de ne pas afficher ce div ?
    Sinon y a t'il un moyen d'appliquer un style ou un Id à ce div ?

    Et surtout pourquoi ce div apparait ?

    Merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 27
    Par défaut
    Il est tout a fait possible d'effectuer ces opérations :

    Pour ne pas afficher ton div :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div visible="false"></div>
    ou encore, pour parametrer ton div a partir du codebehind :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div Id="IdentifiantDiv" runat="server"></div>
    et pour finir, affecter une classe crée dans ta feuille de style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div classe="nom_classe"></div>
    Tu peux en plus utiliser le parametre style pour affecter directement des styles sans passer par une feuille de style.

    Pour répondre à ta dernière question, pourquoi ce div, a mon avis tu as du utilser sous visual studio le mode graphique pour ajouter tes composants, VS ajoute aussi en même temps des attributs comme div ou autres pour le graphisme de ta page que tu pourras ensuite paramétrer. Ci d'autres div t'embêtes tu peux les supprimer, ce ne sont que des éléments graphiques après à toi de faire ta mise en page.
    Bon courage !

  3. #3
    Membre chevronné
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Par défaut
    Je me suis peut être mal exprimé.
    quand je regarde la page dans Visual Studio, le champ viewstate et le div ne sont pas présent.
    Ces champs ne sont visible que lorsque je regade le code source de page afficher dans le navigateur.
    C'est à dire que ce div est ajouté par le framework au moment de la compilation et de l'affichage dans le navigateur.

    Je ne peut donc pas appliquer de style ou supprimer ce div car il est ajouter au moment de l'execution (et pas au moment du développement).

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Yvelines (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 27
    Par défaut
    Désolé j'avais mal compris.
    Je viens de regarder, mais je ne pense pas que tu puisses faire grand chose.

    Tu dis que tu as ajouté un margin sur tous les div, mais tu l'as fait dynamiquement dans une feuille de style ou alors dans chaque balise div tu as inséré le paramètre ? Une idée serait peut être de mettre ce paramètre dans ta feuille de style. Si c'est déjà ce que tu as fait je ne vois pas trop
    Bon courage.

  5. #5
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Le pb c'est que tu as mis une marge sur tous les div, et que ASP.Net en génère beaucoup (les Panel aussi sont des div, il me semble)

    A éviter donc...

  6. #6
    Membre chevronné
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Par défaut
    bon, admettont que je débrouille avec les autres div, le problème n'est pas vraiment la.

    Je voulais juste savoir pourquoi lorsque l'on met un formulaire dans une page, automatiquement on se retrouve avec un div dans le quel il n'y a qu'un champ caché.
    Je voulais aussi savoir s'il est possible de supprimer ce div qui ne sert à rien (sinon à faire ch....).

  7. #7
    Membre Expert Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Par défaut
    Si si, il sert à contenir le ViewState
    Bon oki, dans les faits ça sert à rien, il doit y avoir une explication, mais je ne l'ai pas.

    Sinon attention, je sens en toi un développeur HTML pur et dur. Méfie toi, il y a beaucoup de code généré en ASP.Net, il va sans doute falloir que tu changes certaines habitudes si tu veux avancer en .Net

  8. #8
    Membre chevronné
    Avatar de malbaladejo
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    379
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2002
    Messages : 379
    Par défaut
    Je sais asp .net genere plein de code tout seul et la plupart du temps c'est très bien.
    C'est juste que ce div ne sert a rien.
    En plus, je suis plus habitué à travailler avec .net 1.1 et je crois que j'avais pas ce problème.
    C'est depuis le 2.0 que ce div apparait. Il faut juste le savoir et en tenir compte dans le css.
    Merci pout tout

Discussions similaires

  1. [AJAX] Ajax et un formulaire(dans un div include)
    Par HWICE dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/09/2007, 16h49
  2. valider le formulaire dans un div
    Par audrey_ dans le forum ASP
    Réponses: 4
    Dernier message: 02/03/2007, 09h37
  3. Pb affichage formulaire dans balise div
    Par zut94 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 26/07/2006, 10h19
  4. Ouvrir un formulaire dans un div
    Par cedre22 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 02/02/2006, 14h18

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