コードビハインドからLinkButtonを構築しています。onclickをメソッドに割り当て、それとともにパラメーターも渡す必要があります。私はこれをこれまでに持っています:
LinkButton lnkdel = new LinkButton();
lnkdel.Text = "Delete";
渡したいメソッドは次のようになります。
protected void delline(string id)
{
}
それをそのメソッドに渡すことはできません。クリックイベントデリゲートを、それを処理できるメソッドに割り当てる必要があります。
このような:
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;
};
このイベントの関数プロトタイプは次のとおりです。
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);