Bonjour,
Voici mon problème, je veux générer dynamiquement un repeater qui a comme source une arrayList et j'y arrive très bien sauf que lorsque je clic sur un bouton, le repeater ce vide.
Voici mon code. Je sais qu'il y a peu-être un problème en rapport avec le cycle de vie d'une page ASP.net mais je ne comprends pas où est mon problème. Je vous remercie d'avance.
[CODE]<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Page sans titre</title>
</head>
<body>
<form id="form1" runat="server">
<asp:DropDownList runat="server" ID="GroupLettres" AutoPostBack="true" OnSelectedIndexChanged="DropDownChange">
<asp:ListItem Text="Choisissez ..." Value="" />
<asp:ListItem Text="A --> I" Value="1" />
<asp:ListItem Text="J --> Q" Value="2" />
<asp:ListItem Text="R --> Z" Value="3" />
</asp:DropDownList>
<asp:Repeater ID="Repeater1" runat="server">
</asp:Repeater>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
</form>
</body>
</html>[/CODE]
[CODE]
public partial class _Default : System.Web.UI.Page
{
ArrayList Liste;
protected void Page_Init(object sender, EventArgs e)
{
Liste = new ArrayList();
}
protected void Page_Load(object sender, EventArgs e)
{
if (Liste.Count != 0)
this.Label1.Text = Liste[0].ToString();
else
this.Label1.Text = "liste vide ! ";
}
protected void DropDownChange(object sender, EventArgs e)
{
Liste.Add("1");
Liste.Add("2");
Liste.Add("3");
Liste.Add("4");
this.Repeater1.DataSource = Liste;
this.Repeater1.DataBind();
int i = 0;
foreach (RepeaterItem repeatItem in Repeater1.Items)
{
Label lbl = new Label();
lbl.Text = Liste[i].ToString();
repeatItem.Controls.Add(lbl);
i++;
}
}
protected void Button1_Click(object sender, EventArgs e)
{
//Response.Write(string.Format("Vous avez choisi {0}", (ListLettres.SelectedValue)));
}
[/CODE]