webForumDet fria alternativet

Dynamisk LinkButton i table, Event?

3 svar · 295 visningar · startad av Bjuris

BjurisMedlem sedan juli 2001514 inlägg
#1

Jag har en tabell som skapas dynamiskt beoende på hur många rader som läses in från fil & session.

Jag skapar en tableRow för varje rad i codebehind, samt TableCell för varje input.
I en av cellerna på varje rad så lägger jag in en LinkButton

lbtnDelete = new LinkButton();
lbtnDelete.Text="ta bort "+i;
lbtnDelete.Click +=new System.EventHandler(this.button_Click);
lbtnDelete.ID=vec[i];
Td.Controls.Add(lbtnDelete);

Sen så vill jag fånga upp eventet, exempelvis vilket id knappen hade som man klickade på mha:

private void button_Click(object sender, System.EventArgs e)
{
	lblError.Text="Test" +lbtnDelete.ID;
}

Vad som dock sker är att jag alltid får namnet på den sista knappen som lästes in... Jag vill ju ha ett namn på varje knapp.

janrochMedlem sedan jan. 200518 inlägg
#2

Att du alltid får den sista är inte så konstigt. Det är den knappen som din "lbtnDelete" pekar på. Testa istället

private void button_Click(object sender, System.EventArgs e)
{
(LinkButton)lb = (LinkButton)sender;
lblError.Text="Test" +lb.ID;
}

BjurisMedlem sedan juli 2001514 inlägg
#3

Hur skall jag deklarera lb?

janrochMedlem sedan jan. 200518 inlägg
#4

Ja det glömda jag ja i exemplet. Som en LinkButton då...
Skrev visst fel ser jag. Så här istället
private void button_Click(object sender, System.EventArgs e)
{
LinkButton lb = (LinkButton)sender;
lblError.Text="Test" +lb.ID;
}

126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)