webForumDet fria alternativet

Hyperlänk

.NETur .NET

3 svar · 332 visningar · startad av paraxe

paraxeMedlem sedan apr. 2004298 inlägg
#1

Varför blir resultat så här på denna hyperlänk:

...editCustomer.aspx?cid=<%# DataBinder.Eval(Container.DataItem, "Id") %>

Med koden:

<asp:HyperLink NavigateUrl='editCustomer.aspx?cid=<%# DataBinder.Eval(Container.DataItem, "Id") %>'
Runat="server"><%# DataBinder.Eval(Container.DataItem, "Name") %></asp:HyperLink>

/edit använder DataList

Mvh

Pär

paraxeMedlem sedan apr. 2004298 inlägg
#2

Löste det med att skriva HTML kod istället...

<a href='editCustomer.aspx?cid=<%# DataBinder.Eval(Container.DataItem, "Id") %>'>
<%# DataBinder.Eval(Container.DataItem, "Name") %></a>

Men är det bra att "blanda" kod sådär? (blanda html med html.. hehe :) )

Mvh

Pär

PDahlenMedlem sedan apr. 2004778 inlägg
#3

Det är inget fel att "blanda" kod.
I det här fallet så får du inget "mervärde" av att använda en .NET kontroll. I sådana lägen kan det prestandamässigt vara en fördel att använda den "vanliga" html-taggen.
Om du däremot skulle behöva göra en OnItemBound och ändra något i länken så krävs en asp:HyperLink.

PaceMedlem sedan juni 20019 024 inlägg
#4
<asp:HyperLink NavigateUrl='<%# [red]"editCustomer.aspx?cid=" &[/red] DataBinder.Eval(Container.DataItem, "Id") %>'
Runat="server"><%# DataBinder.Eval(Container.DataItem, "Name") %></asp:HyperLink>

PDahlen skrev:

Om du däremot skulle behöva göra en OnItemBound och ändra något i länken så krävs en asp:HyperLink.

Nja, du kan ju ta en vanlig <a>-tag och sätta runat="server" på den och därefter lägga till attribut som du vill.

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