pb asp : valider 2 fois pour retrouver la variable de session
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:
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> |
Code:
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 |
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).
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 :roll:
....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