Avatar billede brian-johansen Nybegynder
19. april 2006 - 22:39 Der er 23 kommentarer og
1 løsning

ImageUrl spørgsmål

Hej,

Jeg sidder og skal lave en produkt oversigt til en hjemmeside, jeg henter det hele ud i en datalist. Her henter jeg navnet på et produkt og så henter jeg en URL til et billede. Dette er sådan set også fint nok, men problemet er bare at det er ikke alle produkterne der har et billede, så jeg skal have lavet en eller anden metode der tjekker på om imageurl'en er lig null, også skal det hente et standard billede frem. Problemet er bare jeg ved ikke hvordan jeg skal kunne fortælle min datalist dette.

Er der nogen der ved hvordan man gør eller har en tutorial liggende der kan klare problemet?

mvh Brian
Avatar billede erikjacobsen Ekspert
19. april 2006 - 22:44 #1
Du kan måske klare det i din sql-sætning med en IF af en slags - hvilken database bruger du?
Avatar billede dr_chaos Nybegynder
20. april 2006 - 08:10 #2
Datalist eksempel:
  <asp:DataList ID="DataList1" RepeatColumns="3" RepeatDirection="Horizontal" runat="server">
        <ItemTemplate>
      <asp:Image ID="img" runat="server" ImageUrl='<%# FormatImgUrl(DataBinder.Eval(Container.DataItem, "stitilbillede").ToString()) %>' />
        </ItemTemplate>
        </asp:DataList>
Avatar billede dr_chaos Nybegynder
20. april 2006 - 08:11 #3
I codebehind ligger du følgende funktion:
  public string FormatImgUrl(string url)
    {
        if (url == string.Empty)
            return "sti til standard billede";
        else
            return url;
    }

Det er alt du behøver
Avatar billede brian-johansen Nybegynder
20. april 2006 - 09:23 #4
Det prøver jeg lige tak for de hurtige svar

mvh
Avatar billede brian-johansen Nybegynder
20. april 2006 - 09:24 #5
Jeg bruger en acces DB
Avatar billede brian-johansen Nybegynder
20. april 2006 - 09:55 #6
Jeg får stadig ikke noget billede frem, men jeg er ikke sikker på at min sti er skrevet rigtig

Jeg har skrevet flg.

  public string FormatImgUrl(string url)
        {
            if (url == string.Empty)
            {
                return "images\nopic.jpg";
            }
            else
            {
                return url;
            }
        }

ER dette rigtig eller skal jeg skrive noget andet i stien ?

mvh
Avatar billede dr_chaos Nybegynder
20. april 2006 - 09:58 #7
hvor ligger billedet i forhold til siden ?
Avatar billede brian-johansen Nybegynder
20. april 2006 - 10:02 #8
Den ligger i mappe der hedder images, mappen ligger i roden af siden, sammen med min komp.aspx
Avatar billede dr_chaos Nybegynder
20. april 2006 - 10:05 #9
prøv med
return @"/images/nopic.jpg";
Avatar billede brian-johansen Nybegynder
20. april 2006 - 10:10 #10
Humm det virker stadig ikke koden ser sådan ud:

public string FormatImgUrl(string url)
        {
            if (url == string.Empty)
            {
                return "@/images/nopic.jpg";
            }
            else
            {
                return url;
            }
        }


Datalist
<asp:DataList ID="DataList2" runat="server" DataSourceID="komps" RepeatColumns="3" RepeatDirection="Horizontal" ShowFooter="False" ShowHeader="False">
                            <ItemTemplate>
                            <table>                     
                                   
                            <tr ><td >
                                <asp:Image ID="Image1" runat="server" ImageUrl='<%# FormatImgUrl(DataBinder.Eval(Container.DataItem, "billede").ToString()) %>'
                                Width="150" />
                                  </td></tr><br />
                                  <tr><td valign="top">
                                  <a href="komp.aspx?id=<%# Eval("produktId") %>"><%# Eval("produktId") %></a><br />
                                </td></tr><br />
                                </table>
                            </ItemTemplate>
                        </asp:DataList>

mvh
Avatar billede dr_chaos Nybegynder
20. april 2006 - 10:15 #11
min fejl den skal være

return "/images/nopic.jpg";
Avatar billede brian-johansen Nybegynder
20. april 2006 - 10:26 #12
Der er stadig ikke noget, er der nogen måde man kan tjekke på om den overhovedet prøver at hente nopic.

Jeg har prøvet sådan:
if (url == string.Empty)
            {
                Response.Write("/images/nopic.jpg");
                return "/images/nopic.jpg";
            }

men den skriver ikke noget.

laver jeg ikke kaldet forkert eller hvad ?

mvh Brian
Avatar billede dr_chaos Nybegynder
20. april 2006 - 10:31 #13
tror jeg ikke prøv lige med

  Response.Write(url + "/images/nopic.jpg");

før if sætningen
Avatar billede brian-johansen Nybegynder
20. april 2006 - 10:42 #14
Nu får jeg så en der hedder: \images\/images/nopic.jpg

Det forklare jo selvfølgelig en del
Avatar billede brian-johansen Nybegynder
20. april 2006 - 10:43 #15
Det hele den skriver er:
.\images\bit2110_s.bmp/images/nopic.jpg.\images\bit2110_s.bmpnopic.jpg.\images\bit2141_s.bmp/images/nopic.jpg.\images\bit2141_s.bmpnopic.jpg.\images\bit2112_s.jpg/images/nopic.jpg.\images\bit2112_s.jpgnopic.jpg.\images\bit2147_s.jpg/images/nopic.jpg.\images\bit2147_s.jpgnopic.jpg.\images\bit2168_s.jpg/images/nopic.jpg.\images\bit2168_s.jpgnopic.jpg.\images\/images/nopic.jpg.\images\nopic.jpg.\images\/images/nopic.jpg.\images\nopic.jpg.\images\/images/nopic.jpg.\images\nopic.jpg.\images\/images/nopic.jpg.\images\nopic.jpg
Avatar billede dr_chaos Nybegynder
20. april 2006 - 11:14 #16
Betyder det at \images altid kommer med i url strengen ?
Avatar billede brian-johansen Nybegynder
20. april 2006 - 11:33 #17
Ja, jeg kan se på det hele at jeg har lavet en lille brøler.

Jeg henter jo stien i en db, der hedder .\images\billede.jpg

Men jeg ved stadig ikke hvad jeg skal gøre når jeg ikke modtager et billede.

mvh
Avatar billede dr_chaos Nybegynder
20. april 2006 - 11:38 #18
Måske :
if (url == "\images")
            {
                Response.Write("/images/nopic.jpg");
                return "/images/nopic.jpg";
            }
Avatar billede brian-johansen Nybegynder
20. april 2006 - 19:20 #19
Hej jeg beklager jeg ikke lige har svaret men jeg når desvære ikke at kigge på det før i morgen, men mange tak for hjælpen indtil videre
Avatar billede dr_chaos Nybegynder
20. april 2006 - 19:22 #20
np
Du skal finde ud af hvad url indeholder når et billede er tomt
Avatar billede brian-johansen Nybegynder
21. april 2006 - 11:06 #21
Hvordan ungår jeg at den skriver Unrecognized escape sequence ?

fordi stien er nemlig .\images\ ?

Jeg tror det er der fejlen ligger ?

mvh
Avatar billede dr_chaos Nybegynder
21. april 2006 - 11:10 #22
Måske :
if (url == @".\images\")
            {
                Response.Write("/images/nopic.jpg");
                return "/images/nopic.jpg";
            }
Avatar billede brian-johansen Nybegynder
21. april 2006 - 11:21 #23
Så kom det sgu til at virke !!!!

Mange tak for hjælpen !

resultatet blev:

  Response.Write(url + "nopic.jpg");
            if (url == @".\images\")
            {
                Response.Write("/images/nopic.jpg");
                return "./images/nopic.jpg";
            }
            else
            {
                return url;
            }
Avatar billede dr_chaos Nybegynder
21. april 2006 - 11:23 #24
så smider jeg et svar :)
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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