Passage de variable apres validation de la page

smilandfly Messages postés 34 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 25 novembre 2004 - 22 juil. 2004 à 09:18
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 22 juil. 2004 à 13:17
Bonjour

Bien que ce soit une notion de base, je n'ai toujours pas compris son fonctionnement.
Je m'embrouille un peu avec prog web et prog d'appli client....

Quand je valid ma page, je perd la valeur de mes variables.
Comment faire pour les preserver et les recupérer?
Comment fonctionne le rollback?

je fai de cette maniere, mais je en c pas si c la bonne

private void but_cal1_Click(object sender, System.EventArgs e)
{
calendar.Visible = !calendar.Visible;
Response.Redirect("creationPVR.aspx?index_cal='1'");
}

qd je fai de cette maniere, ma page etend rechargé, elle me reinitialise calendar.Visible=false (g mis ca par defaut)

du coup dans le form_load je met
if (!Request.QueryString["index_cal"].Equals('0'))
calendar.Visible=true
mais il me met que : "La référence d'objet n'est pas définie à une instance d'un objet."

J'aimerai comprendre la logique de tout ca

merci

YOp la boOM

2 réponses

cs_fabrice69 Messages postés 1765 Date d'inscription jeudi 12 octobre 2000 Statut Membre Dernière intervention 11 décembre 2013 5
22 juil. 2004 à 12:51
Déja il faut faire la redirection comme suivant :

Response.Redirect("creationPVR.aspx?index_cal=1");

>> Enlever les ' autour du 1

Pour le reste il faudrait le reste du code pour savoir ou se trouve le problème.

Si tu utilise VS.NET, je t'invite à utiliser le Debugger pour suivre ton problème lors du chargement de la page, cf ici :
- http://www.asp-php.net/tutorial/asp.net/vstudiodebug.php

Sinon regarde l'utilisation de la trace dans .NET :
- http://www.asp-php.net/tutorial/asp.net/aspnettrace.php

Romelard Fabrice (Alias F___)
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
22 juil. 2004 à 13:17
l'erreur m'a l'air simple :

pour tester ca en vb je fais if not Request.QueryString("index_cal") is nothing then ...

le problème se situe que tu veux comparer une variable à 0 or si cette variable n'existe pas --> Erreur

sinon pour garder tes variables, tu as plusieurs méthodes
si t'as une variable simple tu peux passer par les querystring
sinon si t'as variable est serializable tu peux passer par le viewstate
ou sinon tu passes par les sessions

exemple d'utilisation du viewstate :

public property Variable as string
get
return Viewstate("Variable)
end get
set(ByVal Value as string)
Viewstate("Variable) = Value
end set
end property

pour les sessions c'est tout simple
tu enregistre ta variable et lit comme ceci

Session("Variable") --> propriété en lecture/ecriture ....

incovenients du viewstate, c'est qu'il alourdis la page, puisque la variable est ecrite dedans, mais de facon codé et tu ne peux sauvegarder que des variable serializable
pour le querystring, les inconvenients sont evidents, mais les avantages le sont moins: cela permet de mettre en favoris la page, et le client peut modifier sa requette directement sans passer par un formulaire ....

@+

Cyril
0
Rejoignez-nous