---
title: "Problem med linkbutton"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/182564-problem-med-linkbutton"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "saw"
published: "2010-02-24T22:21:20.000Z"
updated: "2010-02-25T17:26:55.000Z"
replies: 7
views: 820
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/182564-problem-med-linkbutton"
---

# Problem med linkbutton

## #1 — saw, 2010-02-24T22:21Z

När jag gör så här:

```
<asp:LinkButton ID="LinkButton1" runat="server" PostBackUrl='Aktivitet/Aktivitet.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id") %>' >Läs mera...</asp:LinkButton>
```

.. då får jag inget id med mig, det verkar som den inte ville köras.

Gör jag så här..

```
<a  href='Aktivitet/Aktivitet.aspx?id=<%# DataBinder.Eval(Container.DataItem,"id") %>'> Läs mera...</a>
```

.. då fungerar id, men eftersom Aktivitet.aspx ligger ett snäpp upp ifrån roten,
så får jag problem.
Länken liger i en repiter, som visar olika händelse hela tiden och därför så
 ändras avståndet till roten hela tiden.
Hur kan jag lösa detta? :q

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

## #2 — SilvioF, 2010-02-25T08:47Z

Får du något felmeddelande eller är querystring("id") tom?

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

## #3 — saw, 2010-02-25T09:07Z

Nej querystringen är tom och den ser ut så här:

```
http://localhost:53139/ccc/Aktivitet/Aktivitet.aspx?id=<%# DataBinder.Eval(Container.DataItem,\"id\") %>
```

Visst jag kan ju göra ett "fattigmans jobb" och lägga Aktivitet.aspx i roten och använda
 en vanlig länk, men då förlorar jag strukturen på websiten, och det tycker jag är
viktigt att behålla.

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

## #4 — Fredde Mannen, 2010-02-25T09:50Z

Ett alternativ är att du använder oncommand event för din linkbutton: 

```
<asp:LinkButton ID="btn" runat="server" OnCommand="btn_Command" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"id") %>'>Läs mera...</asp:LinkButton>
```

 Och från codebehind gör en response.redirect till den tilltänkta sidan.

Ett annat är att du, och snyggare samt SEO-vänligare: 

```
<asp:HyperLink runat="server" NavigateUrl='<%# "Aktivitet/Aktivitet.aspx?id=" & DataBinder.Eval(Container.DataItem,"id") %>' Text="Läs mera..."></asp:HyperLink>
```

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

## #5 — saw, 2010-02-25T10:16Z

Nu blev jag förb.. på mig själv, som jag har kollat och letet och så var det så enkelt.
Tack alla ni för hjälpen.

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

## #6 — onkelborg, 2010-02-25T17:00Z

Annars så lägger du till \~/ innan Aktiviteter i url:en, \~ är special i asp.net och ser till att du alltid får en sökväg som pekar på rooten på applikationen. Väldigt praktiskt.

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

## #7 — saw, 2010-02-25T17:14Z

Hej onkelberg.
Det var mitt första försök, men det lyckades inte.
Om jag inte hadde med runat="server" så fick jag en crach, hadde jag den med så letade den efter en mapp (\~/) som såg så ut.
Men nu fungerar det.

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

## #8 — onkelborg, 2010-02-25T17:26Z

Hm, vad mystiskt. Finns en till variant, databind till ett funktionsanrop istället:
\<%# Response.ApplyAppPathModifier("\~/kaka/" + objekt.värde) %\>

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

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/182564-problem-med-linkbutton
