Utiliser viewstate

emna_bz Messages postés 25 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 25 janvier 2006 - 3 déc. 2005 à 11:32
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 5 déc. 2005 à 09:15
Bonjour

Je travail avec asp.net et c#.
J'ai besoin d'utiliser viewstate .Je vais vous expliquer mon probleme:*
j'ai un champ text et un boutton si on clique sur le boutton un popup s'affiche.Si je raffraichi la page le popup s'affiche.L'affichage du popup se trouve dans l'action de click sur le boutton.J'ai essayé d'utiliser viewstate mais j'ai pas comris comment faire?Pouvez vous m'aider s'il vous plait.

4 réponses

cs_Nurgle Messages postés 1642 Date d'inscription samedi 6 novembre 2004 Statut Membre Dernière intervention 28 avril 2011 4
3 déc. 2005 à 18:59
Salut,



Il y a un truc que je comprends pas :

Si le javascript qui lance le popup se trouve dans le onclick du
boutton, pourquoi le popup se lance quand tu rafraichis la page

et aussi :

Il se lance directement au rafraichissement, où seulement quand tu re-cliques sur le boutton après le rafraichissement ?



A+

Nurgle
Il est plus aisé d'être sage pour les autres que pour soi-même !
(La Rochefoucauld)
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
3 déc. 2005 à 21:24
D'aprés ce que j'ai compris, tu réagis à l'evenement coté serveur .... donc effectivement au rafraichissement de la page, tu réécris le html ...

Il ne faut pas confondre asp.net et javascript, le premier s'ececute coté serveur et génére seulement du html, si tu veux bosser coté client il faut faire du javascript donc va voir sur www.javascriptfr.com ;)


<HR>
Cyril - MVS - MCP ASP<
0
emna_bz Messages postés 25 Date d'inscription jeudi 3 mars 2005 Statut Membre Dernière intervention 25 janvier 2006
5 déc. 2005 à 09:06
Bonjour
Lorsque je raffraichi la page je ne clique pas sur le boutton mais la derniere action est sauvegardé dans viewstate du serveur pour faire le postback.
Ce que j'ai arrivé a comprendre est que je dois utiliser viewstate mais j'ai pas pu l'utiliser.Pouvez vous m'aider?
voici mon code dans l'action du button


public
void Envoyer_Click(
object sender, System.EventArgs e)
{

if(TextboxMail.Text!="" )
{

//popup
Response.Write("<script>window.open("" +"./popup.aspx" + "","_blank","width=" + 410 + ",height=" +280 + ",top=" + 300 + ",left=" + 300 + "");</script>");

return ;
}
}
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
5 déc. 2005 à 09:15
Oui c'est tout à, fait normal, non il ne faut pas utilier le viewstate !

Ce qu'il faut que tu comprennes c'est que quand tu fais ca tu fais du code serveur !!!

Explication :

Quand l'utilisateur demande la page, il fait un get sur ton serveur IIS, qui lui détecte l'extension de la page demandé, et la renvoie à .net (on passe les détails) une fois la page sur .net l'objet page est initialisé, plusieurs évenements sont lancé : init, load etc... ensuite aprés le render, la page est finit, on a fait que généré une réponse pour le client, aprés le render la réponse est renvoyé à IIS puis au client, l'instance de la page n'existe plus ...

Une fois la page arrivé chez le client, le client peut cliquer sur le bouton : quand il clique sur le bouton, il fait un submit du formulaire, donc ca refait une requete vers le serveur, création d'une nouvelle instance etc... puis toi tu ecris du html pour afficher ta popup, la page est renvoyé coté client, executé, le browser voit un script coté client, il l'execute .. si tu fais actualiser, le navigateur va renvoyer la derniere requete envoyé donc le serveur va reexecuté la meme requete est donc renvoyé le meme html donc tu auras de nouveau ta popup ...

ce qu'il faut faire pour un cas si simple, il faut utiliser javascript, pour faire ta verification coté client !!! donc va voir www.javascriptfr.com


<HR>
Cyril - MVS - MCP ASP
0
Rejoignez-nous