the big ben | Bonjour,
J'essaye d'ajouter un UserControl dynamiquement ce UserControl contenant principalement un boutton pour ajouter une autre instance de mon UserControl. Dans ma page les UserControl instanciés dans le Page_Load ont leur boutton qui fonctionne ccorrectement mais les usercontrol instancié dans l'évennement click doivent d'abord avoir un post back avant de fonctionner...
Voici mon code:
Ma page:
Code :
- public partial class _Default : System.Web.UI.Page
- {
- private int NumberOfFilters
- {
- get
- {
- return (int)Session["NumberOfFilters"];
- }
- set
- {
- Session["NumberOfFilters"] = value;
- }
- }
- protected void Page_Init(object sender, EventArgs e)
- {
- if (!IsPostBack)
- {
- NumberOfFilters = 1;
- }
- }
- private void Page_Load(object sender, System.EventArgs e)
- {
- RecreatePersistedControls();
- }
- private void RecreatePersistedControls()
- {
- // Call CreateControl for each persisted control
- for (int i = 0; i < NumberOfFilters; i++)
- {
- CreateControl(i.ToString());
- }
- }
- private void CreateControl(string id)
- {
- // Create controll with specified id,
- // add it to controls collection, attach event handlers
- WebUserControl1 filter = (WebUserControl1)LoadControl("WebUserControl1.ascx" );
- filter.ID = "filter" + id;
- filter.AddEvent += AddMailingListFilter;
- Panel1.Controls.Add(filter);
- Button b = new Button();
- b.Click += AddMailingListFilter;
- Panel1.Controls.Add(b);
- }
- protected void AddMailingListFilter(object sender, EventArgs e)
- {
- NumberOfFilters++;
- CreateControl(NumberOfFilters.ToString());
- }
- }
|
Mon UserControl:
Code :
- public partial class WebUserControl1 : System.Web.UI.UserControl
- {
- public event EventHandler AddEvent;
- protected void Page_Init(object sender, EventArgs e)
- {
- ImageButtonAdd.Click += ImageButtonAdd_Click;
- }
- protected void ImageButtonAdd_Click(object sender, EventArgs e)
- {
- if (AddEvent != null)
- {
- AddEvent(this, EventArgs.Empty);
- }
- }
- }
|
D'avance merci! |