Bonjour � tous,
Je ne sais pas si beaucoup d'entre vous utilisent Ajax sur ASP.NET, moi j'ai un probl�me "de base" (qui ne devrait pas �tre si compliqu�) mais je n'arrive pas � trouver de solution malgr� mes recherches sur internet.
Ci dessous un exemple tr�s simple que vous pouvez copier dans un projet de test pour reproduire le probl�me.
J'ai :
- Un label (en dehors de l'UpdatePanel).
- Un UpdatePanel avec un label � l'int�rieur.
- Un bouton (en dehors de l'UpdatePanel).
Dans le code juste derri�re j'ai cr�� un AsyncPostBackTrigger et je l'ai li� sur l'�v�nement du clic du bouton.
Le bouton sert simplement � ajouter la date actuelle sur le label qui est dans l'updatepanel.
� chaque postback complet, le label � l'ext�rieur de l'updatepanel est mis � jour avec la date actuelle.
Mon probl�me est le suivant:
Le premier clic sur le bouton fait un rendu partiel (c'est ce que je veux, c'est le but de l'utilisation d'ajax), mais un autre clic fait un postback COMPLET (reload de toute la page!) � la place de le faire partiellement.
Contenu de Page1.aspx :
CodeBehind de Page1.aspx :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12 <asp:ScriptManager ID="ScriptManager1" runat="server"> </asp:ScriptManager> <div> <asp:Label ID="Label_FullPostBack" runat="server" Text="Label"></asp:Label> <asp:UpdatePanel ID="UpdatePanel1" runat="server"> <ContentTemplate> <asp:Label ID="Label_PartialPostBack" runat="server" Text="Label"></asp:Label> </ContentTemplate> </asp:UpdatePanel> <asp:Button ID="Button1" runat="server" Text="Test" /> </div>
Comment faire pour �viter que �a reload tout? J'aimerai avoir une requ�te ajax � chaque clic, et pas une fois sur deux
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load If IsPostBack() Then Label_FullPostBack.Text = Date.Now() End If Dim x As New AsyncPostBackTrigger() x.ControlID = Button1.UniqueID x.EventName = "Click" UpdatePanel1.Triggers.Add(x) End Sub Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click System.Threading.Thread.Sleep(1000) 'To see changes Label_PartialPostBack.Text = Date.Now() End Sub
Merci d'avance pour votre aide pr�cieuse.
Mica�l
Partager