Как добавить функцию Onclick к динамической кнопке LinkButton? - PullRequest
1 голос
/ 15 августа 2011

Мне нужно добавить атрибут Onclick к моему LinkButton, который я генерирую динамически. Как его добавить?

Вот код, который я дошел до этого и ударил:

 foreach(string i in List)//list has more than 50 data's
        {
            LinkButton link = new LinkButton();
            link.Text = topics;
            link.ID = topics;
            link.Attributes.Add("runat", "server");
            link.Click += new EventHandler(this.lnk_Click);
            div_ID.Controls.Add(link);
            div_ID.Controls.Add(new LiteralControl("<br />"));
         }

public void lnk_Click(object sender,EventArgs e)
{
    string ctrlId = ((Control)sender).ID;
    GMethod(ctrlId); //handles some function in which i pass the id of the particular lnk button
}

Я мог бы назвать это lnk_Click из моего LinkButton при динамической генерации. Его атрибут onclick не добавляется к кнопке ссылки. Пожалуйста, помогите мне в этом, ребята. Я настаиваю.

Ответы [ 2 ]

0 голосов
/ 04 октября 2015

Я также столкнулся с той же проблемой, что событие onClick динамически создаваемой гиперссылки не запускалось. Я делал ошибку, помещая код динамического создания гиперссылки в «if (! IsPostBack)», и каждый раз назначал гиперссылку случайный идентификатор. Поэтому, пожалуйста, попробуйте присвоить уникальный идентификатор и оставьте код вне «if (! IsPostBack)». Будет работать.

0 голосов
/ 15 августа 2011

Вам не нужно добавлять атрибут runat = "server", так как это будет сделано автоматически.Вы назначили обработчик события OnClick, так что вы тоже должны быть там настроены.

Поскольку вы создаете эти элементы управления динамически, убедитесь, что у вас есть код для регенерации элементов управления LinkButton после обратной передачи, иначе ваш обработчик событий не сработает.Также убедитесь, что вы присвоили те же идентификаторы при восстановлении после обратной передачи.

...