Событие для динамически создаваемых элементов управления в ASP.Net - PullRequest
0 голосов
/ 28 февраля 2012

Я создал приложение, в котором создал динамическое управление событием нажатия кнопки.Но динамически создаваемое управляющее событие не сработает при нажатии на него.Ниже код, который я написал.

   ImageButton closeImage = new ImageButton();
        closeImage.ID = "ID"+ dr["ID"].ToString();
        closeImage.AlternateText = "Delete";
        closeImage.ImageUrl = "App_Themes/images/CloseButton.png";
        closeImage.Attributes.Add("style", "float:right;cursor:pointer;margin: -19px 1px -10px;");
        closeImage.EnableViewState = true;
        closeImage.CommandName = "Delete";
        closeImage.CommandArgument = dr["ID"].ToString();
        closeImage.Attributes.Add("runat", "server");
        closeImage.OnClientClick = "return confirm('Are you sure you want to remove this');";
        closeImage.Click += new ImageClickEventHandler(this.closeImage_click);


  protected void closeImage_click(object sender, ImageClickEventArgs e)
{
    ImageButton ibDel = (ImageButton)sender;
}

Тот же код работает, если он помещен в Page_Load ().Есть ли другое решение для запуска события.

1 Ответ

1 голос
/ 28 февраля 2012

Я хотел бы предложить вам прочитать следующую статью о MSDN. Речь идет о жизненном цикле страницы. Ключевая часть - это когда создаются элементы управления. Если элементы управления созданы на неправильной стадии, события не будут зарегистрированы и, следовательно, не сработают.

http://msdn.microsoft.com/en-us/library/ms178472%28v=vs.80%29.aspx

...