2016-08-18 3 views
1

Ich erstelle einen LinkButton dynamisch auf ASP.net. Ich brauche Hilfe, wenn ich auf den LinkButton klicke, es speichert den Linkbutton-Namen zu meinem Label1 (nur als Beispiel). HierLinkButton.OnClick Methode mit Parameter

ist der Code:

protected void Page_Load(object sender, EventArgs e) 
    { 
     for (int ctr = 0; ctr <= 2; ctr++) 
     { 
      LinkButton link = new LinkButton(); 
      link.ID = "lnk" + ctr.ToString(); 
      link.Text = "lnkName" + ctr.ToString(); 
      link.Click += new EventHandler(DynamicClick); 
      this.form1.Controls.Add(link); 
     } 
    } 

//when I click the buttonLink 
public void DynamicClick(object sender, EventArgs e) 
    { 
     //label1.text will get the .text of the button that i pressed 
     Label1.Text = ""; 
    } 

Antwort

2

Ich würde es auf diese Weise tun

public void DynamicClick(object sender, EventArgs e) 
{ 
    LinkButton linkButton = sender as LinkButton; 
    if (linkButton != null) 
    { 
     Label1.Text = linkButton.Text; 
    } 
} 
+0

danke es hat funktioniert –

1
protected void Page_Load(object sender, EventArgs e) 
    { 
     for (int ctr = 0; ctr <= 2; ctr++) 
     { 
      LinkButton link = new LinkButton(); 
      link.ID = "lnk" + ctr.ToString(); 
      link.Text = "lnkName" + ctr.ToString(); 
      link.Click += delegate { Label1.Text = link.ID; }; 
      this.form1.Controls.Add(link); 
     } 

    } 
1

ich dies mit einer leichten Variation zu Valeh Antwort tun würde.

protected void Page_Load(object sender, EventArgs e) 
{ 
    for (int ctr = 0; ctr <= 2; ctr++) 
    { 
     LinkButton link = new LinkButton(); 
     link.ID = "lnk" + ctr.ToString(); 
     link.Text = "lnkName" + ctr.ToString(); 
     link.Click += (s, ea) => 
     { 
      Label1.Text = link.Text; 
     }; 
     this.form1.Controls.Add(link); 
    } 
} 

ein separates Verfahren Erstellen public void DynamicClick(object sender, EventArgs e) - vor allem eine, die public ist - ist eine schlechte Sache, wenn es nicht notwendig ist, wie es Verkapselung bricht. Es ist absolut verständlich, wenn wir mit einem Designer arbeiten, aber wenn wir den Code selbst schreiben, ist das eine schlechte Idee.

Verwandte Themen