Chr*_*ris 14 c# asp.net events linkbutton
我正在从我的代码隐藏中构建一个LinkButton,我需要将onclick分配给一个方法,并传递一个参数.到目前为止我有这个:
LinkButton lnkdel = new LinkButton();
lnkdel.Text = "Delete";
Run Code Online (Sandbox Code Playgroud)
我想传递它的方法如下所示:
protected void delline(string id)
{
}
Run Code Online (Sandbox Code Playgroud)
RPM*_*984 31
那么你不能将它传递给那个方法,你需要将click事件委托分配给一个能够处理它的方法.
像这样:
public void DynamicClick(object sender, EventArgs e) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
像任何事件一样分配click事件:
lnkdel.Click += new EventHandler(DynamicClick);
Run Code Online (Sandbox Code Playgroud)
如果要传递参数,请使用CommandArgument,并且您需要一个不同的委托:
void DynamicCommand(Object sender, CommandEventArgs e)
{
Label1.Text = "You chose: " + e.CommandName + " Item " + e.CommandArgument;
}
Run Code Online (Sandbox Code Playgroud)
然后:
lnkDel.Command += new CommandEventHandler(DynamicCommand)
lnkDel.CommandArgument = 1234;
Run Code Online (Sandbox Code Playgroud)
顺便说一句,如果你在> = C#3,你也可以使用匿名方法的酷感:
lnkDel.Command += (s, e) => {
Label1.Text = "You chose: " + e.CommandName + " Item " + e.CommandArgument;
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60873 次 |
| 最近记录: |