Bonsoir,
Je vous expose une difficulté rencontrée sur asp.net 4 au niveau de la validation d'une page (méthode 'post').
L'exemple (vb.net) est simplissime : un Textbox, un bouton, et un label dans lequel je souhaite retrouver la valeur entrée dans le Textbox aprés avoir cliqué sur le bouton.
Je souhaite utiliser une variable de session (que je stocke au moment du clic et que je récupère au moment du load aprés validation)
le problème est qu'il faut cliquer DEUX FOIS sur le bouton (et donc valider 2 fois) pour que la variable de session soit enfin reconnue au niveau du load et s'affiche dans le label !!!
(voici le code asp et le code behind)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <%@ Page Title="Page d'accueil" Language="vb" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="Default.aspx.vb" Inherits="WebApplication2._Default" %> <asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent"> </asp:Content> <asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent"> <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> <p> <asp:Button ID="Button1" runat="server" Text="Button" /> </p></asp:Content>Coté configuration web, je n'ai rien imposé pour l'état de session, et donc d'aprés la doc, je devrais avoir un stockage de session par défaut (in proc).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Public Class _Default Inherits System.Web.UI.Page Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load Me.Label1.Text = Session("texte") End Sub Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click Session("texte") = Me.TextBox1.Text End Sub End Class
J'utilise VisualWebDeveloper et asp 4. Le navigateur est IE et le serveur web est le serveur interne à VWD. Le stockage asp est celui donné par défaut par VWD (base = fichier.mdf rangé dans le répertoire App_Data)
MERCI d'avance pour toute aide
....et si j'active le traçage de la page, je confirme qu'aprés le premier clic, je retrouve bien ma variable de session dans la trace (le bon nom avec la bonne valeur) mais elle n'est pas 'vue' par la fonction load :
Il faut bien faire un second clic pour que le label prenne la valeur attendue....
Merci encore
Partager