Hejsan! Jag är nästan säker att det finns någonting sådant inbyggt, kan bara inte komma på taggens namn. Det vore verkligen guld om det fanns något sådant. Vore tacksam om du lyckades luska fram vad det heter eller om någon annan vet kanske. Det är just det beteendet jag vill ha fram, en icke repeterande repeater. Dock så jag har ju en lista med element så det är väl snarare en "sökning" efter ett speciellt värde på en property som ska göras. Du kan antingen skapa en asp:image och sätta bildID.ImageUrl = bildnamnVariabel i code behind. Jo, det vet jag men till problemet hör att jag i så fall måste mappa värden till olika typer av properties for olika kontroller. Det blir bökigt i mitt fall. Jag hade helst sett att jag bara kunde koda upp min template och sedan koppla ID för mitt element vart som helst och sedan få ut värdet.Mappa element till en template (Specialare)
Tänkte att någon här kanske har en bra idé för att göra det här.
Jag har ett antal element. Dessa element har ID och Value. Vad jag vill göra, helst med en template, är att mappa/skriva ut Value för ett visst ID till en speciellt plats på en sida.
Exempelvis såhär:
<my:Datamapper runat="server">
<h1><%# DataBinder.Eval(Container.DataItem, "h1") %></h1>
<h2><%# DataBinder.Eval(Container.DataItem, "h2") %></h2>
</my:Datamapper>
Alltså där jag på något sätt innan binder min lista med element till Datamappern innan.
Min tanke var att detta skulle kunna göras med en repeater eller liknande, men i det fallet så måste först listan med element konverteras till en array med en rad och flera kolumner istället. Det känns dessutom inte helt rätt att använda en repeater när det egentligen bara är en sak med flera värden som ska mappas.
Fråga gärna om det är oklart. Annars så tas alla förslag emot med varm hand. Kanske har jag missat något inbyggt.
Sv: Mappa element till en template (Specialare)
I princip fungerar det som en repeater med skillnaden att den inte repeteras.
Har aldrig själv använt mig av det så möjligt att jag missuppfattat något och kanske inte ens finns en sån funktion.
Finns det någon anledning till att du inte helt enkelt skapar t.ex. labels och fyller dem från code-behind?Sv:Mappa element till en template (Specialare)
Ja, det är en bra fråga såklart. Jag skulle kunna göra labels, men det finns tillfällen då det inte känns så snyggt. Exempelvis då jag skulle vilja skriva ut alt-texten i en bild. Då kommer det att hamna en Label mitt i img-taggen. Det hade därför varit trevligare med en mer generell templatelösning.Sv: Mappa element till en template (Specialare)
Eller gör en vanlig html <img> med runat="server" och sedan från code behind:
bildID.attributes.add("src",bildnamnVariabel)
Men det är bara alternativ ifall du inte hittar någon bättre lösning. Jag ska leta lite och se om jag kan hitta det jag läste om igen.Sv:Mappa element till en template (Specialare)
Detta borde exempelvis funka:
<h1><%= GetElement("h1") %></h1>
<img src="<%= GetElement("imgSrc") %>" alt="<%= GetElement("imgAlt") %>" />
Men det borde kunna göras lite snyggare. Vilket jag som sagt tror går om man använder en repeater och mappar om elementen till kolumner istället. Känns dock också omständigt.