begin process at 2012 05 28 07:51:22
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

UserControl

 > 

UserControl et PostBack


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

UserControl et PostBack

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ée 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...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,671 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales