J'ai une page .aspx qui contient simplement un bouton et=20
un TextBox. Je ne comprends pas pourquoi lorsque je=20
d=E9finie le propri=E9t=E9 EnableViewState =E0 false pour le=20
TextBox, la valeur de la propri=E9t=E9 Text de ce contr=F4le est=20
conserv=E9e apr=E8s le clique sur le bouton ??? Pourquoi cet=20
=E9tat est conserv=E9 alors qu'une liste de valeur=20
DropDownList aurait perdu ces valeurs ???
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Frederic Melantois
Bonjour,
En mettant à EnableViewState = false pour votre TextBox, et en n'employant aucun mécanisme viewstate pour les autres contrôles, votre page étant aussi à EnableViewState="False", Regardez la source de votre browser avant le submit et après le submit.
Vous vous apercevrez que :
<input type="hidden" name="__VIEWSTATE" a la même valeur avant et après le submit.
Donc le mécanisme de viewState n'intervient pas. En fait, c'est le serveur qui renvoie lors du retour postback les champs input avec leurs valeurs...
Et si, on met EnableViewState = true pour la textbox, les valeurs sont toujours retournés et le champ <input type="hidden" name="__VIEWSTATE" ne grossit toujours pas.
C'est que la Value du control n'est pas stocké en viewstate (voir docs sur les créations de contrôle serveur pour bien comprendre).
Si vous utilisez <input type="text" id="montexte" runat=server>, vous aurez le même phénomène (la propriété EnableViewState n'est pas disponible pour ce HtmlControl dans les propriétés design mais existe bien pour le code. Le serveur renvoie la page avec l'input et sa valeur après un postback.
En fait, comme HtmlInputText et TextBox dérive de Control qui possède la propriété EnableViewState, on explique l'existance de cette propriété qui est sans effet ici pour la value, pas pour d'autres propriétés du HtmlInputText ou du TextBox ...
Ce que je pense, mais je peux me tromper, c'est qu'il a été décidé de renvoyer l'input et sa valeur chez le client lors d'un postback. Comme on utilise souvent des input type text dans nos formulaires et que la plupart du temps, les développeurs allaient rendre disponible l'EnableViewState (et d'ailleurs c'est la valeur par défaut pour les controls), il apparaissait alors coûteux de "doubler" l'information dans le code : dans le champ input type=text et dans le champ <input type="hidden" name="__VIEWSTATE". L'usage du ViewState aurait perdu de sa crédibilité (et donc de son utilité) à cause d'une taille encore plus importante.
Frédéric Mélantois
"Fabrice" a écrit dans le message de news:1de0801c45516$ec7be300$ Bonjour à tous,
J'ai une page .aspx qui contient simplement un bouton et un TextBox. Je ne comprends pas pourquoi lorsque je définie le propriété EnableViewState à false pour le TextBox, la valeur de la propriété Text de ce contrôle est conservée après le clique sur le bouton ??? Pourquoi cet état est conservé alors qu'une liste de valeur DropDownList aurait perdu ces valeurs ???
Merci à tous
Fabrice
Bonjour,
En mettant à EnableViewState = false pour votre TextBox, et en n'employant
aucun mécanisme viewstate pour les autres contrôles, votre page étant aussi
à EnableViewState="False", Regardez la source de votre browser avant le
submit et après le submit.
Vous vous apercevrez que :
<input type="hidden" name="__VIEWSTATE" a la même valeur avant et après le
submit.
Donc le mécanisme de viewState n'intervient pas. En fait, c'est le serveur
qui renvoie lors du retour postback les champs input avec leurs valeurs...
Et si, on met EnableViewState = true pour la textbox, les valeurs sont
toujours retournés et le champ <input type="hidden" name="__VIEWSTATE" ne
grossit toujours pas.
C'est que la Value du control n'est pas stocké en viewstate (voir docs sur
les créations de contrôle serveur pour bien comprendre).
Si vous utilisez <input type="text" id="montexte" runat=server>, vous aurez
le même phénomène (la propriété EnableViewState n'est pas disponible pour ce
HtmlControl dans les propriétés design mais existe bien pour le code. Le
serveur renvoie la page avec l'input et sa valeur après un postback.
En fait, comme HtmlInputText et TextBox dérive de Control qui possède la
propriété EnableViewState, on explique l'existance de cette propriété qui
est sans effet ici pour la value, pas pour d'autres propriétés du
HtmlInputText ou du TextBox ...
Ce que je pense, mais je peux me tromper, c'est qu'il a été décidé de
renvoyer l'input et sa valeur chez le client lors d'un postback. Comme on
utilise souvent des input type text dans nos formulaires et que la plupart
du temps, les développeurs allaient rendre disponible l'EnableViewState (et
d'ailleurs c'est la valeur par défaut pour les controls), il apparaissait
alors coûteux de "doubler" l'information dans le code : dans le champ input
type=text et dans le champ <input type="hidden" name="__VIEWSTATE".
L'usage du ViewState aurait perdu de sa crédibilité (et donc de son
utilité) à cause d'une taille encore plus importante.
Frédéric Mélantois
"Fabrice" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:1de0801c45516$ec7be300$a601280a@phx.gbl...
Bonjour à tous,
J'ai une page .aspx qui contient simplement un bouton et
un TextBox. Je ne comprends pas pourquoi lorsque je
définie le propriété EnableViewState à false pour le
TextBox, la valeur de la propriété Text de ce contrôle est
conservée après le clique sur le bouton ??? Pourquoi cet
état est conservé alors qu'une liste de valeur
DropDownList aurait perdu ces valeurs ???
En mettant à EnableViewState = false pour votre TextBox, et en n'employant aucun mécanisme viewstate pour les autres contrôles, votre page étant aussi à EnableViewState="False", Regardez la source de votre browser avant le submit et après le submit.
Vous vous apercevrez que :
<input type="hidden" name="__VIEWSTATE" a la même valeur avant et après le submit.
Donc le mécanisme de viewState n'intervient pas. En fait, c'est le serveur qui renvoie lors du retour postback les champs input avec leurs valeurs...
Et si, on met EnableViewState = true pour la textbox, les valeurs sont toujours retournés et le champ <input type="hidden" name="__VIEWSTATE" ne grossit toujours pas.
C'est que la Value du control n'est pas stocké en viewstate (voir docs sur les créations de contrôle serveur pour bien comprendre).
Si vous utilisez <input type="text" id="montexte" runat=server>, vous aurez le même phénomène (la propriété EnableViewState n'est pas disponible pour ce HtmlControl dans les propriétés design mais existe bien pour le code. Le serveur renvoie la page avec l'input et sa valeur après un postback.
En fait, comme HtmlInputText et TextBox dérive de Control qui possède la propriété EnableViewState, on explique l'existance de cette propriété qui est sans effet ici pour la value, pas pour d'autres propriétés du HtmlInputText ou du TextBox ...
Ce que je pense, mais je peux me tromper, c'est qu'il a été décidé de renvoyer l'input et sa valeur chez le client lors d'un postback. Comme on utilise souvent des input type text dans nos formulaires et que la plupart du temps, les développeurs allaient rendre disponible l'EnableViewState (et d'ailleurs c'est la valeur par défaut pour les controls), il apparaissait alors coûteux de "doubler" l'information dans le code : dans le champ input type=text et dans le champ <input type="hidden" name="__VIEWSTATE". L'usage du ViewState aurait perdu de sa crédibilité (et donc de son utilité) à cause d'une taille encore plus importante.
Frédéric Mélantois
"Fabrice" a écrit dans le message de news:1de0801c45516$ec7be300$ Bonjour à tous,
J'ai une page .aspx qui contient simplement un bouton et un TextBox. Je ne comprends pas pourquoi lorsque je définie le propriété EnableViewState à false pour le TextBox, la valeur de la propriété Text de ce contrôle est conservée après le clique sur le bouton ??? Pourquoi cet état est conservé alors qu'une liste de valeur DropDownList aurait perdu ces valeurs ???
Merci à tous
Fabrice
Fabrice
Merci, c'est très clair.
A bientôt,
Fabrice
-----Message d'origine----- Bonjour,
En mettant à EnableViewState = false pour votre TextBox,
et en n'employant
aucun mécanisme viewstate pour les autres contrôles,
votre page étant aussi
à EnableViewState="False", Regardez la source de votre
browser avant le
submit et après le submit.
Vous vous apercevrez que :
<input type="hidden" name="__VIEWSTATE" a la même valeur
avant et après le
submit.
Donc le mécanisme de viewState n'intervient pas. En fait,
c'est le serveur
qui renvoie lors du retour postback les champs input avec
leurs valeurs...
Et si, on met EnableViewState = true pour la textbox, les
valeurs sont
toujours retournés et le champ <input type="hidden"
name="__VIEWSTATE" ne
grossit toujours pas.
C'est que la Value du control n'est pas stocké en
viewstate (voir docs sur
les créations de contrôle serveur pour bien comprendre).
Si vous utilisez <input type="text" id="montexte"
runat=server>, vous aurez
le même phénomène (la propriété EnableViewState n'est pas
disponible pour ce
HtmlControl dans les propriétés design mais existe bien
pour le code. Le
serveur renvoie la page avec l'input et sa valeur après
un postback.
En fait, comme HtmlInputText et TextBox dérive de Control
qui possède la
propriété EnableViewState, on explique l'existance de
cette propriété qui
est sans effet ici pour la value, pas pour d'autres
propriétés du
HtmlInputText ou du TextBox ...
Ce que je pense, mais je peux me tromper, c'est qu'il a
été décidé de
renvoyer l'input et sa valeur chez le client lors d'un
postback. Comme on
utilise souvent des input type text dans nos formulaires
et que la plupart
du temps, les développeurs allaient rendre disponible
l'EnableViewState (et
d'ailleurs c'est la valeur par défaut pour les controls),
il apparaissait
alors coûteux de "doubler" l'information dans le code :
dans le champ input
type=text et dans le champ <input type="hidden"
name="__VIEWSTATE".
L'usage du ViewState aurait perdu de sa crédibilité (et
donc de son
utilité) à cause d'une taille encore plus importante.
Frédéric Mélantois
"Fabrice" a écrit
dans le message de
news:1de0801c45516$ec7be300$ Bonjour à tous,
J'ai une page .aspx qui contient simplement un bouton et un TextBox. Je ne comprends pas pourquoi lorsque je définie le propriété EnableViewState à false pour le TextBox, la valeur de la propriété Text de ce contrôle est conservée après le clique sur le bouton ??? Pourquoi cet état est conservé alors qu'une liste de valeur DropDownList aurait perdu ces valeurs ???
Merci à tous
Fabrice
.
Merci, c'est très clair.
A bientôt,
Fabrice
-----Message d'origine-----
Bonjour,
En mettant à EnableViewState = false pour votre TextBox,
et en n'employant
aucun mécanisme viewstate pour les autres contrôles,
votre page étant aussi
à EnableViewState="False", Regardez la source de votre
browser avant le
submit et après le submit.
Vous vous apercevrez que :
<input type="hidden" name="__VIEWSTATE" a la même valeur
avant et après le
submit.
Donc le mécanisme de viewState n'intervient pas. En fait,
c'est le serveur
qui renvoie lors du retour postback les champs input avec
leurs valeurs...
Et si, on met EnableViewState = true pour la textbox, les
valeurs sont
toujours retournés et le champ <input type="hidden"
name="__VIEWSTATE" ne
grossit toujours pas.
C'est que la Value du control n'est pas stocké en
viewstate (voir docs sur
les créations de contrôle serveur pour bien comprendre).
Si vous utilisez <input type="text" id="montexte"
runat=server>, vous aurez
le même phénomène (la propriété EnableViewState n'est pas
disponible pour ce
HtmlControl dans les propriétés design mais existe bien
pour le code. Le
serveur renvoie la page avec l'input et sa valeur après
un postback.
En fait, comme HtmlInputText et TextBox dérive de Control
qui possède la
propriété EnableViewState, on explique l'existance de
cette propriété qui
est sans effet ici pour la value, pas pour d'autres
propriétés du
HtmlInputText ou du TextBox ...
Ce que je pense, mais je peux me tromper, c'est qu'il a
été décidé de
renvoyer l'input et sa valeur chez le client lors d'un
postback. Comme on
utilise souvent des input type text dans nos formulaires
et que la plupart
du temps, les développeurs allaient rendre disponible
l'EnableViewState (et
d'ailleurs c'est la valeur par défaut pour les controls),
il apparaissait
alors coûteux de "doubler" l'information dans le code :
dans le champ input
type=text et dans le champ <input type="hidden"
name="__VIEWSTATE".
L'usage du ViewState aurait perdu de sa crédibilité (et
donc de son
utilité) à cause d'une taille encore plus importante.
Frédéric Mélantois
"Fabrice" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:1de0801c45516$ec7be300$a601280a@phx.gbl...
Bonjour à tous,
J'ai une page .aspx qui contient simplement un bouton et
un TextBox. Je ne comprends pas pourquoi lorsque je
définie le propriété EnableViewState à false pour le
TextBox, la valeur de la propriété Text de ce contrôle est
conservée après le clique sur le bouton ??? Pourquoi cet
état est conservé alors qu'une liste de valeur
DropDownList aurait perdu ces valeurs ???
En mettant à EnableViewState = false pour votre TextBox,
et en n'employant
aucun mécanisme viewstate pour les autres contrôles,
votre page étant aussi
à EnableViewState="False", Regardez la source de votre
browser avant le
submit et après le submit.
Vous vous apercevrez que :
<input type="hidden" name="__VIEWSTATE" a la même valeur
avant et après le
submit.
Donc le mécanisme de viewState n'intervient pas. En fait,
c'est le serveur
qui renvoie lors du retour postback les champs input avec
leurs valeurs...
Et si, on met EnableViewState = true pour la textbox, les
valeurs sont
toujours retournés et le champ <input type="hidden"
name="__VIEWSTATE" ne
grossit toujours pas.
C'est que la Value du control n'est pas stocké en
viewstate (voir docs sur
les créations de contrôle serveur pour bien comprendre).
Si vous utilisez <input type="text" id="montexte"
runat=server>, vous aurez
le même phénomène (la propriété EnableViewState n'est pas
disponible pour ce
HtmlControl dans les propriétés design mais existe bien
pour le code. Le
serveur renvoie la page avec l'input et sa valeur après
un postback.
En fait, comme HtmlInputText et TextBox dérive de Control
qui possède la
propriété EnableViewState, on explique l'existance de
cette propriété qui
est sans effet ici pour la value, pas pour d'autres
propriétés du
HtmlInputText ou du TextBox ...
Ce que je pense, mais je peux me tromper, c'est qu'il a
été décidé de
renvoyer l'input et sa valeur chez le client lors d'un
postback. Comme on
utilise souvent des input type text dans nos formulaires
et que la plupart
du temps, les développeurs allaient rendre disponible
l'EnableViewState (et
d'ailleurs c'est la valeur par défaut pour les controls),
il apparaissait
alors coûteux de "doubler" l'information dans le code :
dans le champ input
type=text et dans le champ <input type="hidden"
name="__VIEWSTATE".
L'usage du ViewState aurait perdu de sa crédibilité (et
donc de son
utilité) à cause d'une taille encore plus importante.
Frédéric Mélantois
"Fabrice" a écrit
dans le message de
news:1de0801c45516$ec7be300$ Bonjour à tous,
J'ai une page .aspx qui contient simplement un bouton et un TextBox. Je ne comprends pas pourquoi lorsque je définie le propriété EnableViewState à false pour le TextBox, la valeur de la propriété Text de ce contrôle est conservée après le clique sur le bouton ??? Pourquoi cet état est conservé alors qu'une liste de valeur DropDownList aurait perdu ces valeurs ???