14

コードビハインドからLinkBut​​tonを作成しているので、onclickをメソッドに割り当て、パラメーターも渡す必要があります。私はこれまでにこれを持っています:

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

渡したいメソッドは次のようになります。

 protected void delline(string id)
        {

        }
4

2 に答える 2

33

それをそのメソッドに渡すことはできません。クリックイベントデリゲートを、それを処理できるメソッドに割り当てる必要があります。

このような:

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

他のイベントと同様にクリックイベントを割り当てます。

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;

ところで、> = C#3を使用している場合は、匿名メソッドのクールさを使用することもできます。

lnkDel.Command += (s, e) => { 
   Label1.Text = "You chose: " + e.CommandName + " Item " + e.CommandArgument;
};
于 2010-10-28T08:56:24.760 に答える
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);
于 2010-10-28T08:55:55.557 に答える