---
title: "Hitta label mha System.EventArgs e"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/128502-hitta-label-mha-system-eventargs-e"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Bjuris"
published: "2005-05-19T14:09:39.000Z"
updated: "2005-05-23T14:11:49.000Z"
replies: 5
views: 288
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/128502-hitta-label-mha-system-eventargs-e"
---

# Hitta label mha System.EventArgs e

## #1 — Bjuris, 2005-05-19T14:09Z

Jag håller fortfarande på med att få en verifieringsknapp då man klickar på delete, men jag får det inte riktigt som jag vill ha det och det beror på att jag har två värden som är beroende av vilka poster som jag skall ta bort i db.

```
<ItemTemplate>
	<asp:LinkButton ID="cmdDelete" OnPreRender="DataGridBaser_PreRender" OnClick="DataGridBaser_onClick" Runat="server" CausesValidation="false">click me</asp:LinkButton>
</ItemTemplate>
```

 

I samma Datagrid har jag två lablar som heter lbl1 & lbl2

När man klickar på länken så anropas:

```
protected void DataGridBaser_PreRender(object sender, System.EventArgs e)
{
	((LinkButton)sender).Attributes.Add("onclick", "return confirm ('Vill du radera huser?');");
}

protected void DataGridBaser_onClick(object sender, System.EventArgs e)
{
	LinkButton lb = ((LinkButton)sender);
	Label lbl1 = ((Label)DataGridBaser.Items[0].FindControl("lbl1"));
	Label lbl2 = ((Label)DataGridBaser.Items[0].FindControl("lbl2"));
	lblError.Visible=true;
	lblError.Text="Testing " + lb.ID+" "+lblSubBas.Text+"tt";
	
	string s			= System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"];
	//appConnectionString = (string.Format(s, Server.MapPath("")));
	//dg = new SqlServerDbGateway(appConnectionString); 
	//dg.DeletePost(Convert.ToInt32(UserSess.home.personId),Convert.ToInt32(lbl1.Text),ToInt32(lbl2.Text));
	//BindBasGrid("");
}
```

 

med hjälp av ovanstådende kod så kommer jag åt lablarna men bara den som ligger på rad 1, hur skall jag göra för att få det lite mer dynamsikt, alltså att värdena på varje label för varje rad i datagriden?

Permalänk: https://www.webforum.nu/p/128502

## #2 — asmodie, 2005-05-19T15:27Z

Ehum en lite liten tanke.

Du skulle kunna lösa det mer så här.
På din linkbutton så kan du köra en on command="mittkommando(skicka in variabler här som du antagligen vill ha ut från repeatern)"

sedan skapar du en klass i codebehind som heter

protected void mittkommando(ta emot en massa grejer)
{
gör saker med grejerna
}

Permalänk: https://www.webforum.nu/p/1614494

## #3 — Gladh, 2005-05-19T17:10Z

> Label lbl1 = ((Label)DataGridBaser.Items\[0\].FindControl("lbl1"));
> Label lbl2 = ((Label)DataGridBaser.Items\[0\].FindControl("lbl2"));

Dina 2 Items\[0\] säger ju att du alltid skall ta första elementet i din datagrid och där leta upp Labelen.
Tyvärr så har System.EventArgs ingen referens till ditt datagrid så du kommer inte att kunna hitta vilken rad i datagriden som du tryckte på knappen i, men hjälp av System.EventArgs.

Jag skulle misstänka att den enklast lösningen är att du på din knapp lägger till ett nytt attribute som du döper till typ ItemIndex och i DataGrid_OnItemCommand() eller något annat event så skriver du det attributet till knappen, du kan sedan i ditt DataGridBaser_onClick event hämta upp den information från knappen och använda det indexet i stället för 0 i Items\[\].

\- Magnus

Permalänk: https://www.webforum.nu/p/1614549

## #4 — Dino, 2005-05-19T17:24Z

Är bättre att använda DataGridens ItemCommand som sker när man trycker på en knapp.

```
void ItemsGrid_Command(Object sender, DataGridCommandEventArgs e)
{
   Label lbl1 = ((Label)e.Items.FindControl("lbl1"));
   ...
}
```

Permalänk: https://www.webforum.nu/p/1614556

## #5 — Bjuris, 2005-05-23T11:43Z

får bara ett felmess när jag försöker att använda Datagridens egena event command

CS0123: Method 'net.SmartSys.Portfolio.PortFolioWork.DataGridBaser_onClick(object, System.Web.UI.WebControls.DataGridCommandEventArgs)' does not match delegate 'void System.EventHandler(object, System.EventArgs)'

Permalänk: https://www.webforum.nu/p/1615758

## #6 — Dino, 2005-05-23T14:11Z

```
void ItemsGrid_Command(Object sender, DataGridCommandEventArgs e)
{
   Label lbl1 = ((Label)e.Items.FindControl("lbl1"));
   ...
}

...

<asp:datagrid id="DataGridBaser" onitemcommand="ItemsGrid_Command" runat="server">
<ItemTemplate>
	<asp:LinkButton ID="cmdDelete" OnPreRender="DataGridBaser_PreRender" Runat="server" CausesValidation="false">click me</asp:LinkButton>
</ItemTemplate>
</asp:datagrid>
```

Permalänk: https://www.webforum.nu/p/1615819

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/128502-hitta-label-mha-system-eventargs-e
