Just nu i M3-nätverket
Gå till innehåll

Komma åt kontroll i kontroll (sätta egenskaper)..


Mossberg

Rekommendera Poster

Morrn!

Har problem med att komma åt webkontroller som ligger i exempelvis en asp:Repeater.

Ex vill sätta en bild i en asp:Image-kontroll som ligger i Repeater'n utifrån om det finns ett värde i db'n. Alltså ung:

 

if(minDataReader["rad"] == null)
imRep.ImageUrl = inaktiv.gif;
else
imRep.ImageUrl = aktiv.gif;

------

<asp:repeater id="rep" runat="server">
<asp:image id="imRep" runat="server"/>
</asp:repeater>

 

Men detta går inte eftersom kontrollen ligger i en annan kontroll, hur löser man detta (jobbar inte i codebehind än)?

 

Någon som kan?

Poäng till lösning.

Hepp/Henrik

 

Länk till kommentar
Dela på andra webbplatser

Kan du inte göra en DataBind på repeatern istället ? Bör bli enklare då, då kan du göra något i stil med (obs otestad kod!):

 

<asp:Repeater

id="rep"

runat="server"

DataSource="<%# FillRepeater() %>"

>

<ItemTemplate>

 

<asp:Image

id="imRep"

runat="server"

ImageUrl='<%# ( DataBinder.Eval(Container, "rad") == System.DBNull.Value ? "inaktiv.gif" : "aktiv.gif" ) %>'

/>

 

</ItemTemplate>

</asp:Repeater>

 

 

[inlägget ändrat 2005-01-22 11:54:17 av Meme]

Länk till kommentar
Dela på andra webbplatser

Jag binder data med

minDataReader = cmd.ExecuteReader(); rep.DataSource = minDataReader; 
rep.DataBind();

och skriver ut den i repeatern med

<%# ( DataBinder.Eval(Contai...

o s v.

Behöver man alltså anropa även från repeatern för att kontroller inom den ska kopplas?

Provade att lägga in det som du skrev men vet inte riktigt hur jag ska ändra i subrutinen för att det ska bli rätt.

Provade också med att endast lägga in image-delen i repeatern med original databinding men då fick jag meddelandet att den raden inte fanns i db? Ett steg dock, lösningen kanske ligger i att endast ändra något i databinder i imagedelen?

 

/Henrik

 

Länk till kommentar
Dela på andra webbplatser

Provade också med att endast lägga in image-delen i repeatern med original databinding men då fick jag meddelandet att den raden inte fanns i db? Ett steg dock, lösningen kanske ligger i att endast ändra något i databinder i imagedelen?

 

Jag använde bara det du skrev i din kod, du får ändra fältet till det korrekta.

 

Länk till kommentar
Dela på andra webbplatser

Hmmm, jag bytte såklart ut till rätt värden först..!

Jag tror jag har löst problemet med annan kod, tack ändå för tips.

/Henrik

 

Länk till kommentar
Dela på andra webbplatser

Hmmm, jag bytte såklart ut till rätt värden först..!

Jag tror jag har löst problemet med annan kod, tack ändå för tips.

/Henrik

 

Hmmm, jag tror jag sluta försöka hjälpa dig Mossberg.

 

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...