Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Nestlade Repeaters

Postades av 2008-02-20 01:31:48 - Mikael Jokela, i forum asp.net generellt, Tråden har 16 Kommentarer och lästs av 975 personer

Någon som vet hur man enligt koden nedan får tag på värdet från repeter1(node1) i repeater2(node2)?
jag vill alltså skicka med ett värde från repeater 1 i querystringen som skapas i repeater2.

<code>
<asp:Repeater ID="node1" runat="server">
<ItemTemplate>
<li><a class="menuclick" onclick="this.blur()"><%#DataBinder.Eval(Container.DataItem, "menuName")%></a></li>
<ul class="menutoggled">
<asp:Repeater ID="node2" runat="server" DataSource='<%# Ctype(Container.Dataitem, DataRowView).Row.GetChildRows("menuRelation")%>'>
<ItemTemplate>
<li>&r=<%#DataBinder.Eval(Container.DataItem, "(menuName)")%>&s="><%#DataBinder.Eval(Container.DataItem, "(menuName)")%></li>
</ItemTemplate>
</asp:Repeater>
</ul>
</ItemTemplate>
</asp:Repeater>
</code>


Svara

Sv: Nestlade Repeaters

Postades av 2008-02-20 08:31:19 - Chris Klug

Finns flera sätt. Men ett skulle vara att spara undan värdet i en global variabel i ItemDataBound på node1 och sedan i ItemDataBound eventet på node 2 använda den globala variabeln...
Eller så kan du kanske använda node2.Parent. Den propertyn ger dig referens till node2:s parent, dvs node1:s item...


Svara

Sv:Nestlade Repeaters

Postades av 2008-02-20 08:52:04 - Mikael Jokela

Tack för svaret Chris...
ja, så längt är jag med, iaf gällande FindControl.Parent....men jag kan bara inte komma på hur jag ska ställa upp det....jag har provat massor med alternativ, men det blir inte rätt. Troligen så invecklar jag det alldeles för mycket. Det ska väl kunna gå att hämta det direkt i presentationslagret, typ
<code>
<%#DataBinder.Eval("")&>
</code>


Svara

Sv: Nestlade Repeaters

Postades av 2008-02-20 09:07:29 - Chris Klug

Efter ett snabbt test så bör det här funka:
<code>
<%# Eval(((RepeaterItem)Container.Parent.Parent).DataItem,"Property") #>
</code>

Container.Parent ger dig repeatern, dvs Itemets parent
Container.Parent.Parent get repeaterns parent vilket innebär itemet i den första repeatern
För att komma åt DataItem på den första RepeaterItem måste man casta till RepeaterItem. Därefter kan du köra Eval()


Svara

Sv:Nestlade Repeaters

Postades av 2008-02-20 10:06:15 - Mikael Jokela

Härligt chris, fungerar detta så får du en stjärna i himmelen :) Ska testa det ikväll...Tack för hjälpen.


Svara

Sv: Nestlade Repeaters

Postades av 2008-02-20 11:21:23 - Chris Klug

Ser fram emot den där stjärnan! Funkar det så får du säga till...=)


Svara

Sv:Nestlade Repeaters

Postades av 2008-02-20 17:19:22 - Mikael Jokela

hmm, stjärnan får du i vilket fall, men det fungerade tyvärr inte.

Jag får fel i VS på dels RepeaterItem = "RepeaterItem is a type and cannot be used as an expression"
sen även på Container = " ')' expected"


Svara

Sv: Nestlade Repeaters

Postades av 2008-02-20 21:50:22 - Mikael Jokela

Hittade på en artikel om just detta, och jag har gjort precis som i artikeln, men det fungerar fortfarande inte. Blir samma fel som på din idé, så resultatet blir säker lika, när det väl fungerar.

http://www.schisani.com/ProgrammingRecipes/AspNet/NestedRepeatersAspNet/

<code>
<%#DataBinder.Eval(((System.Web.UI.WebControls.RepeaterItem)Container.Parent.Parent).DataItem, "menuName")%>
</code>


Svara

Sv:Nestlade Repeaters

Postades av 2008-02-20 22:37:17 - Mikael Jokela

Finally found it. Så här ser den ut nu......och fungerar.

<code>
<%#DataBinder.Eval(CType((Container.Parent.Parent), System.Web.UI.WebControls.RepeaterItem).DataItem, "menuName")%>
</code>


Svara

Sv: Nestlade Repeaters

Postades av 2008-02-21 07:48:30 - Chris Klug

Vilket väl var precis det jag skrev...=)


Svara

Sv:Nestlade Repeaters

Postades av 2008-02-21 09:11:46 - Mikael Jokela

Som du ser i ett av mina tidigare inlägg, så fungerade inte din lösning....fick nåt expression fel. Kan det vara Ctype() som saknades?


Svara

Sv: Nestlade Repeaters

Postades av 2008-02-22 08:34:11 - Chris Klug

Ingen aning. Det skumma var att jag kunde köra det i min VS. CType låter VB...Jag kör C#... Kan vara därför...


Svara

Sv:Nestlade Repeaters

Postades av 2008-02-22 09:14:00 - Mikael Jokela

ok, en annan fundering när vi ändå är inne i repeater-djungeln och snurrar.

Jag kör en databind från codebehind, och hämtar som bekant värden i presentationen genom vanliga
<code>
<%#Eval("Värde")%>
</code>

Hur gör jag om jag vill kunna visa olika värden från databasen i repeatern beroende på ett sessionID?
Jag vill kunna göra detta i page_load från codebehind, så man slipper massa fulkod i presentationen..


Svara

Sv: Nestlade Repeaters

Postades av 2008-02-22 21:47:47 - Chris Klug

Ett alternativ skulle väl vara att ha en string property som innehåller namnet på den property som skall visas och sen använda den propertyn i din Eval...typ

Codebehind

string _columnName = "MyColumn"; // Kan sättas beroende på sessionid

protected string PropertyToShow
{
   get { return _columnName; }
}


Markup
<code>
<%# DataBinder.Eval(Container.DataItem,PropertyToShow) %>
</code>

Borde fungera...tror jag


Svara

Sv:Nestlade Repeaters

Postades av 2008-02-22 21:54:52 - Mikael Jokela

och detta översatt till vb borde då bli.....?


Svara

Sv: Nestlade Repeaters

Postades av 2008-02-22 22:18:58 - Chris Klug

Kan tyvärr inte VB.NET...sorry. Men skapa en text-property som returnerar namnet på den kolumn du vill visa upp. Alternativt byter du till C# så kan jag hjälpa till mer...=)


Svara

Sv:Nestlade Repeaters

Postades av 2008-02-29 09:23:06 - Mikael Jokela

löste det, med hjälp av ditt förslag, tack!


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 166
27 952
271 704
784
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies