LinkBut​​ton的的OnClick事件设置为方法,codebehind [英] Setting LinkButton's OnClick event to method in codebehind

查看:204
本文介绍了LinkBut​​ton的的OnClick事件设置为方法,codebehind的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是从我的codebehind构建一个LinkBut​​ton,我需要的onclick分配到的方法,太传递参数吧。我有这个至今:

 的LinkBut​​ton lnkdel =新的LinkBut​​ton();
lnkdel.Text =删除;

我想将它传递给看起来像这样的方法:

 保护无效delline(字符串ID)
        {        }


解决方案

那么你无法将其传递给方法,你需要点击事件委托分配给有能力处理它的方法。

这样的:

 公共无效DynamicClick(对象发件人,EventArgs的发送){
    // 做一点事
}

分配click事件就像任何事件:

  lnkdel.Click + =新的EventHandler(DynamicClick);

如果你想传递一个参数,使用 CommandArgument ,然后你需要一个不同的委托:

 无效DynamicCommand(对象发件人,CommandEventArgs E)
      {
         Label1.Text =您选择:+ e.CommandName +项+ e.CommandArgument;
      }

和则:

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

顺便说一句,如果你在> = C#3,您还可以使用匿名方法的凉意:

  lnkDel.Command + =(S,E)=> {
   Label1.Text =您选择:+ e.CommandName +项+ e.CommandArgument;
};

I'm constructing a LinkButton from my codebehind, and I need to assign the onclick to a method, and pass a parameter with it too. I have this so far:

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

The method I want to pass it to looks like this:

 protected void delline(string id)
        {

        }

解决方案

Well you can't pass it to that method, you need to assign the click event delegate to a method capable of handling it.

Like this:

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

Assign the click event like any event:

lnkdel.Click += new EventHandler(DynamicClick);

If you want to pass an argument, use CommandArgument, and you'll need a different delegate:

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

And then:

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

BTW if you're on >= C#3, you can also use the coolness of anonymous methods:

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

这篇关于LinkBut​​ton的的OnClick事件设置为方法,codebehind的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆