Установка события LinkButton OnClick для метода в кодебе

Я создаю LinkButton из своего кода, и мне нужно назначить onclick методу и передать с ним параметр. У меня это до сих пор:

LinkButton lnkdel = new LinkButton();
lnkdel.Text = "Delete";

Метод, который я хочу передать, выглядит следующим образом:

 protected void delline(string id)
        {

        }

Ответы

Ответ 1

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

Вот так:

public void DynamicClick(object sender, EventArgs e) {
    // do something
}

Назначьте событие click как любое событие:

lnkdel.Click += new EventHandler(DynamicClick);

Если вы хотите передать аргумент, используйте CommandArgument, и вам понадобится другой делегат:

void DynamicCommand(Object sender, CommandEventArgs e) 
      {
         Label1.Text = "You chose: " + e.CommandName + " Item " + e.CommandArgument;
      }

И затем:

lnkDel.Command += new CommandEventHandler(DynamicCommand)
lnkDel.CommandArgument = 1234;

Кстати, если вы находитесь нa >= С# 3, вы также можете использовать прохладу анонимных методов:

lnkDel.Command += (s, e) => { 
   Label1.Text = "You chose: " + e.CommandName + " Item " + e.CommandArgument;
};

Ответ 2

Прототипом функции для этого события является:

protected void lnkdel_OnClick(object _sender, EventArgs _args)
{
    LinkButton src = (LinkButton)_sender;
    // do something here...
}

Назначьте его с помощью

LinkButton lnkdel = new LinkButton();
lnkdel.Text = "Delete";
lnkdel.OnClick += new EventHandler(lnkdel_OnClick);