---
title: "Lägga in Container.DataItem i LinkButton"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/58112-lägga-in-container-dataitem-i-linkbutton"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "Marckus"
published: "2002-11-05T11:20:38.000Z"
updated: "2002-11-05T14:36:21.000Z"
replies: 18
views: 372
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/58112-lägga-in-container-dataitem-i-linkbutton"
---

# Lägga in Container.DataItem i LinkButton

## #1 — Marckus, 2002-11-05T11:20Z

Hejsan!

Jag försöker stoppa in \<%# DataBinder.Eval(Container.DataItem, "id") %\>

i en \<asp:LinkButton id="\<%# DataBinder.Eval(Container.DataItem, "id") %\>"\>

men får "The server tag is not well formed."
Har ingen aning om vad som spökar.

Och ja, Jag är newbie på ASP.net (C# codebehind)

Mvh
Marcus

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

## #2 — fredrik, 2002-11-05T11:29Z

Prova att byta " mot '. Alltå:
\<asp:LinkButton id='\<%# DataBinder.Eval(Container.DataItem, "id") %\>'\> 

Den klagade iaf på det för mig när jag försökte skriva ut en \<%=%\> i ett attribut i html-läget.

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

## #3 — Marckus, 2002-11-05T12:07Z

Då får jag ett annat error message!

'\<%# DataBinder.Eval(Container.DataItem, "id") %\>' is not a valid identifier

Mvh
Marcus

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

## #4 — icaaq, 2002-11-05T12:18Z

```
[red]
<asp:LinkButton id='<%#Container.DataItem("id") %>'> 
[/red]
```

Kanske :OO

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

## #5 — icaaq, 2002-11-05T12:22Z

Eller om måste ha DataBinder.Eval så

```
[red]
DataBinder.Eval(Container.DataItem, "id", "{0:G}")
[/red]
```

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

## #6 — NETwork, 2002-11-05T12:28Z

Du måste ha runat="server" i din linkbutton.

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

## #7 — Marckus, 2002-11-05T12:30Z

Samma error ändå :/.. 
Det funkar fint att hämta värdet och placera det utanför LinkButtonen men inte i :/

Mvh
Marcus

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

## #8 — NETwork, 2002-11-05T12:31Z

Visa hela koden!

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

## #9 — NETwork, 2002-11-05T12:34Z

Ah, men vänta nu här, nu ser jag vad du gör... du kan inte sätta ett dynamiskt ID på det där sättet. Du behöver inte ha det heller! Vad är det du försöker göra?

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

## #10 — Marckus, 2002-11-05T13:32Z

Jag försöker bygga en knapp som kan ta bort inlägg ifrån databasen.. Brevid varje inlägg så har jag ett X för delete..

Tyvärr vet jag inget annat sätt ännu för att ta bort inlägg i databasen än typ delete from tabellen where id = 'id';

Vill helst också utnyttja att allt ligger på en sida och inte behöver gå till olika sidor för olika saker.. 

Mvh
Marcus

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

## #11 — NETwork, 2002-11-05T13:34Z

Det är inga problem. Glöm bort ditt id på din linkbutton överhuvudtaget, det behövs inte. :) Använder du en datagrid?

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

## #12 — Marckus, 2002-11-05T13:39Z

Använder Repeater på ASPX sidan och 

SqlConnection myConnection = new SqlConnection("server=NETDOT;database=Development;User ID=marckus;password=ettlösenordsomniinteser");
			string myQuery = "select \* from inkopes";
			SqlDataAdapter myCommand = new SqlDataAdapter(myQuery,myConnection);

			myConnection.Open();

			DataSet ds = new DataSet();
			myCommand.Fill(ds);

			varuShow.DataSource = ds;
			varuShow.DataBind();

			myConnection.Close();
			myConnection.Dispose();

Så ser koden ut i codebehindfilen för att hämta värdena och spotta ut dom!

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

## #13 — icaaq, 2002-11-05T14:15Z

Kolla in CommandName och CommandArgument. Jag tror det är det man ska använda....(rätta mig om jag har fel)

mvh icaaq

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

## #14 — renholm, 2002-11-05T14:16Z

Här finns ett exempel för att använda en DataGrid: <http://docs.aspng.com/quickstart/aspplus/doc/webdataaccess.aspx#delete>

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

## #15 — Marckus, 2002-11-05T14:19Z

Renholm : Jag kör inte datagrid.. för jag gillar inte att lista data i den formen utan jag vill kunna själv bestämma layouten ..

Icaaq : tror jag provat med CommandArgument .. alltså att lägga värdet där men fick error då med..

Mvh
Marcus

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

## #16 — NETwork, 2002-11-05T14:22Z

Ok, ett sätt att lösa det på är att du sätter ett... 

```
CommandArgument='<%# DataBinder.Eval(Container.DataItem, "id") %>'
```

... på din linkbutton. När du sedan klickar på din linkbutton och så hämtar du sedan ditt id genom att läsa det commandargument (som ju innehåller ditt id) från den linkbutton som kastade eventet. Så här gör du steg för steg:

I din linkbutton sätter du en onclick="dinfunktion". Funktionen får inte vara private. En vanlig standardfunktion, inga konstigheter:

```
public void dinfunktion(object sender, System.EventArgs e) {
}
```

Här fångar vi upp din linkbutton (sender), vi behöver alltså inte något id på din kontroll alls. På denna kan du sedan enkelt hämta ditt id. Du vet att sender är en LinkButton, alltså typkonverterar du sender till en sådan och hämtar sedan dess commandargument.

```
string mittidvarsdatajagskauppdatera = ((LinkButton)sender).CommandArgument;
```

Där har du ditt id som du sedan kan använda för att uppdatera din databas. Voila! :)

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

## #17 — Marckus, 2002-11-05T14:27Z

Ohhh.. Tackar för alla hjälp!
Springer och testar genast! (rullar stolen till burken)

:)

Mvh
Marcus

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

## #18 — NETwork, 2002-11-05T14:35Z

> **Marckus skrev:**
>
> Renholm : Jag kör inte datagrid.. för jag gillar inte att lista data i den formen utan jag vill kunna själv bestämma layouten ..
> 
> Mvh
> Marcus

Du kan bestämma layouten till väldigt stor del även i en datagrid genom att använda templates. Och i en datalist har du i princip samma möjligheter att kontrollera layouten som i en repeater. Det är inte något fel i att använda en repeater, absolut inte, men du missar en hel del smarta funktioner... och så är det lite lättare att göra en smidig och enkel uppdatering i en datagrid. Men det är ju inte speciellt svårt att göra det i en repeater heller så... ja, det var bara en parentes. :)

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

## #19 — Marckus, 2002-11-05T14:36Z

Tackar så mycket igen! Funkade galant!
Lärde man sig ännu mer idag!! Tack tack!

Mvh
Marcus

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/58112-lägga-in-container-dataitem-i-linkbutton
