开发者

How to get link button id that is generated dynamically from code behind in the event handler

I have created two link buttons dynamically:

for (int i = 0; i < 2; i++) {
    LinkButton lb = new LinkButton();
    lb.ID = "lnk" + FileName;
    lb.Text = FileName;
    Session["fil开发者_如何学Ce"] = FileName;
    lb.CommandArgument = FileName;
    lb.Click += new EventHandler(Lb_Click);
    Panel1.Controls.Add(lb);
    Panel1.Controls.Add(new LiteralControl("<br />"));
}

I have got two links, namely:

  1. File11
  2. File22

And I need to determine which one was clicked:

void Lb_Click(object sender, EventArgs e) {
    string id=lb.ID;

    //Here - how to get link button id which is clicked (either File11 id or File22 id)?
}


In your event handler:

LinkButton clickedButton = (LinkButton)sender;

You could then access the ID using clickedButton.ID

Here's an MSDN walkthrough: http://msdn.microsoft.com/en-us/library/aa457091.aspx for determining senders of events.


You acturally do not need to generate an ID for your dynamicly generated buttons. Because when the button OR Link get clicked, the event handler not only received the event itself but also the sender information as well.

String buttonText = (LinkButton)sender.Text;

Multiple buttons can share the same event-handler, and perform the corresponding task for differnet button clicked based on the different name.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜