Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : UserControl et PostBack [ WebForms / UserControl ] (SuperBouly)

mardi 19 août 2008 à 12:27:38 | UserControl et PostBack

SuperBouly

Membre Club

bonjour,
Certains diront que je découvre la lune...
Voici ma découverte , source de mes ennuis
Je cree Un userControl:
<%@ControlLanguage="VB"AutoEventWireup="false"CodeFile="UCont.ascx.vb"Inherits="UCont" %>
<asp:LabelID="lbTest"runat="server"Text="Label"></asp:Label>
le label se sert à rien, c'est pour l'exemple

Je cree dans son code, une propriété "Test":
Dim _test AsString
<Bindable(True)> PublicProperty test() AsString
Get
Return _test
EndGet

Set
(ByVal value AsString)
_test = value
EndSet
EndProperty

Je mets ce controle dans une page, avec un bouton OK pour faire un postback
<formid="form1"runat="server">
UserControlPostBack
<br/>
<uc1:UContID="UCont1"runat="server"EnableViewState=true/>
<asp:ButtonID="btnok"runat="server"Text="ok"/>
</form>

Dans le code de la page, j'initialise la propriété, et j'essaie de la retrouver au postback:
ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load
  IfNot IsPostBack Then
    UCont1.test = "bonjour"
    Response.Write("UCont1.test=" & UCont1.test)
  EndIf
EndSub

Protected
Sub btnok_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles btnok.Click
Response.Write(
"UCont1.test=" & UCont1.test)
EndSub

Eh bien je récupère rien !, et ça m'ennuie beaucoup,
Quelqu'un sait-il comment faire simple ?
Merci de vos lumières
SuperBouly

mardi 19 août 2008 à 12:33:59 | Re : UserControl et PostBack

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Bonjour,

c'est tout à fait normal, tu persistes pas ta propriété entre tes postbacks. Il faut enregistrer text1 dans le viewstate

public String Test
{
    get { return this.Viewstate["Test"] ?? "defaultValue"; }
    set { this.Viewstate["Test"] = value; }
}


Cyril - MVP ASP.net - MCPD ASP.net & MCTS SQL - Consultant indépendant

mardi 19 août 2008 à 15:53:00 | Re : UserControl et PostBack

SuperBouly

Membre Club
Ca marche très bien en effet.
merci, c'est très clair, et, au passage, je note l'élégance de l'opérateur "??" du C#...
j'ai dû écrire en vb :

Get
Return IIf(IsNothing(Me.ViewState("Test")), "maValeurParDefault", Me.ViewState("Test"))
EndGet

SuperBouly



Cette discussion est classé dans : server, test, runat, byval, ucont1


Répondre à ce message

Sujets en rapport avec ce message

A quoi sa sert de mettre runat="server" [ par gtom ] Pourriez vous medire a quoi sa sert de mettre runat="server" ?Merci Problème avec Fichier (info,création,lecture) [ par Darthsidious30 ] Salut!!!J'ai un gros problème avec la manipulation de fichier TXT et avec le FSO.Lorsque je lance une bête application pour lire la date à laquelle le HELP runat="server" [ par InnocentCriminal ] Bonjour a tous, J'ai un problème avec l'asp.net, lorsque je lance une application j'ai un bug.en cherchant un peu je me suis aperçu que mon cher ordin 2 formulaires avec balise runat="server" framework 2.0 [ par Troyan ] Bonjour,j'ai fais en asp.net une page master dans lequel j'ai un access sur la gauche à l'inscription à une mlj'ai donc un formulaire form runat="serv Calcul de l'âge dans un datalist [ par Alain37Mtl ] Mon application web affiche la liste des membres et je voudrais afficher l'âge de chacun au lieu de leur date de naissance. Protected <FONT color=#000 Datagrid qui me rend fou [ par MOOKIES ] Salut,bon je vais essyer d'être clair. J'EN ES MARRE sa marche pas, là rien d'original. En fait je veut utiliser la commande Delete d'un Datagrid (bas server.execute [ par padurand ] Voila mon problèmeL'orsque j'execute à partir du programme source :         server.execute ("test.asp")  ... test.asp s'execute pafaite dans la page a Atlas, popup calendar [ par cnguyen ] Pour l'utilisation d'atlas, j'ai un petit souci, il me dit :Extender controls require a ScriptManager to be present on the page.Nom du paramètre : scr CS0123: No overload for 'OK_Click' matches delegate 'System.EventHandler' [ par bootchoz ] salut,ce message d'erreur apparait : CS0123: No overload for 'OK_Click' matches delegate 'System.EventHandler' lorsque je compile.voila mon code de ma ModalPopupExtender commun à plusieurs contrôles [ par JulienV ] Bonjour Je voudrais associer un ModalPopupExtender à plusieurs LinkButton en utilisant le même Panel mais lorsque je fais cela, le script de la propri


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,203 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.