ASP.NET Ajax - AsyncPostBackTrigger qui ne fonctionne pas deux fois de suite?
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 :
Code:
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> |
CodeBehind de Page1.aspx :
Code:
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 |
Comment faire pour �viter que �a reload tout? J'aimerai avoir une requ�te ajax � chaque clic, et pas une fois sur deux :?
Merci d'avance pour votre aide pr�cieuse.
Mica�l