Avatar billede aero Nybegynder
30. november 2010 - 23:46 Der er 7 kommentarer og
1 løsning

Container.DataItem eller Eval i en Repeater

Hej

Når jeg har en repeater så kan jeg hente data fra en DB via. linq altså <%# Eval("date") %> men når jeg laver en if sætning i min repeater så kan jeg ikke kente data, hverken via Container.DataItem eller Eval.

Min kode er
<% If Eval("PQuantity") = 0 Then%>
                        <img scr=""images/stock_out.gif"" style=""border-width:0px;"" id=""stock_out"" alt="""" />
                    <%  ElseIf Eval("PQuantity") <= 10 Then%>
                        <img scr=""images/stock_enroute.gif"" style=""border-width:0px;"" id=""stock_enroute"" alt="""" />
                    <% Else %>
                        <img src=""images/stock_ready.gif"" style=""border-width:0px;"" id=""stock_ready"" alt="""" />
                    <% End If %>

der siger den PT.
Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control.
Avatar billede arne_v Ekspert
01. december 2010 - 03:05 #1
Jeg tror at du skal satse på:

<img scr=""<%# SomeFunctionThatReturnsImageSrc(Eval("PQuantity")) %>" ...
Avatar billede aero Nybegynder
01. december 2010 - 08:14 #2
okay men hvorfor !? husk jeg laver kun dette i min fritid er ikke inde i det som andre, så ved ikke hvorfor jeg skulle satse på dit i forhold til dat... og hvordan bør "SomeFunctionThatReturnsImageSrc" se ud.
Avatar billede aero Nybegynder
01. december 2010 - 22:44 #3
Okay har søgt lidt på nette og fundet frem til flg. men synes ikke det virker, den viser ikke noget billede.

Min aspx linje er
<img scr=""images/<%# StockMsg(Eval("PQuantity")) %>.gif"" style=""border-width:0px;"" id="Img2"<%# StockMsg(Eval("PQuantity")) %>"" alt="""" />

CodeBehind
    Protected Function StockMsg(ByVal value As Integer) As String
        If value > 0 Then
            Return "stock_out"
        ElseIf value <= 10 Then
            Return "stock_enroute"
        Else
            Return "stock_ready"
        End If
    End Function

Men viser ikke nogle billeder.

og
<span id="Span4""" title=""""></span>
                    <%# StockCountMsg(Eval("PQuantity"))%></span></div>

CodeBehind
    Protected Function StockCountMsg(ByVal value As Integer) As String
        If value >= 10 Or value <= 49 Then
            Return "10+ på lager"
        ElseIf value >= 50 Then
            Return "50+ på lager"
        ElseIf value >= 1 Or value <= 9 Then
            Return "<10 på lager"
        Else
            Return "0 på lager"
        End If
    End Function

Her viser den KUN den første IF selvom jeg har tre ting med 2, 15 og 100 i PQuantity data feltet.
Avatar billede arne_v Ekspert
02. december 2010 - 02:31 #4
Hvilken HTML bliver der outputtet?  (view source i browser)
Avatar billede arne_v Ekspert
02. december 2010 - 02:32 #5
Med hensyn til "hvorfor" så er <%# ... %> og <% ... %> altså langtfra det samme.
Avatar billede aero Nybegynder
02. december 2010 - 18:27 #6
det bliver outputtet til koden over CodeBehind linjen.
Avatar billede arne_v Ekspert
03. december 2010 - 00:50 #7
??
Avatar billede aero Nybegynder
18. februar 2011 - 23:57 #8
lukket
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester