Céclaration de variable

cs_perce Messages postés 22 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 7 octobre 2004 - 26 août 2004 à 09:53
cs_perce Messages postés 22 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 7 octobre 2004 - 30 août 2004 à 09:41
J'ai un petit soucis
Je developpe depuis 1 mois en asp C#

je déclare plusieurs variables private à une page (je devrais pouvoir les utiliser dans toutes ma page ?)
et j'ai 2 Button

Lorsque je clic sur mon bouton 1 la variable est bonne, mais quand je clic sur le bouton2 elle est à 0, sans rien faire de +.

Mais que se passe-t-il ?

3 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
26 août 2004 à 13:22
Le problème est connu, c'est pas tres compliqué à expliquer mais si tu es debutant, je vais peut etre me passer de l'explication, ca risque de t'embrouiller
mais qd tu travailles en web, tu ne garde pas tes variables au cours de la page, car une fois que la page est compilé, le serveur oublie tout de la page, et meme les variables utilisé.

pour cela l'astuse est la suivante :

<%@ Page Language="C#" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">
    
private string MyProperty1
{
get { return Session["MyProperty1"].ToString() ;}
set { Session["MyProperty1"] = value;}
}

    private string MyProperty2;

    void Button1_Click(object sender, EventArgs e)
    {
        MyProperty1 = "Button1";
        MyProperty2 = "Button1";
        Literal1.Text = MyProperty1;
        Literal1.Text += "
";
        Literal1.Text += MyProperty2;

    }

    void Button2_Click(object sender, EventArgs e)
    {
        Literal1.Text = MyProperty1;
        Literal1.Text += "
";
        Literal1.Text += MyProperty2;
    }
    
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>

    <form id="form1" runat="server">
    

        
        
        
    

    </form>

</html>


Dans cet exemple seul MyProperty1 reste correct alors que MyProperty2 "disparait" et c'est je pense le code que tu as marqué :)

@+

Cyril
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
26 août 2004 à 13:52
j'y repense : j'avais fait une source sur ton problème :

--> http://www.aspfr.com/code.aspx?ID=24838

Cyril
0
cs_perce Messages postés 22 Date d'inscription lundi 26 juillet 2004 Statut Membre Dernière intervention 7 octobre 2004
30 août 2004 à 09:41
OK merci pour l'info

Je vais utiliser les viewState
0
Rejoignez-nous