Ajax/Evènements sur les controles dynamiques
Bonjour,
Voici un exemple tout simple d'une texbox dont le texte est changé via une méthode settée sur l'évènement TextChanged.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:PlaceHolder runat ="server" ID="plMain">
<asp:TextBox runat="server" ID="tbTest1" AutoPostBack="True"
ontextchanged="tbTest1_TextChanged"></asp:TextBox>
</asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
</form> |
Cela fonctionne très bien.
Mon but est de reproduire le même comportement via du code behind.
Voici le code behind de la page précédente :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
protected TextBox tbTest2;
protected override void OnPreInit(EventArgs e)
{
base.OnPreInit(e);
tbTest2 = new TextBox();
tbTest2.AutoPostBack = true;
tbTest2.BackColor = Color.Green;
plMain.Controls.Add(tbTest2);
tbTest2.TextChanged += new EventHandler(tbTest2_TextChanged);
}
void tbTest2_TextChanged(object sender, EventArgs e)
{
this.tbTest2.Text = "Test2";
}
protected void tbTest1_TextChanged(object sender, EventArgs e)
{
this.tbTest1.Text = "Test1";
} |
Mon problème, c'est qu'il y a un postback dès que je modifie le texte de ma "tbTest2".
Le but étant bien sur d'éviter ce comportement grace à l'Ajax
Quelqu'un serait-il me venir en aide ?
Merci d'avance.