Panelen



Forumnavigering
Senast inloggade
RSS
Sponsorer

Forum > ASP.NET 3.x > Generella frågor

Problem med ImageButton

zpeedi
zpeedi

Gradering

#14597

Jag är helt ny på webutveckling och har efter mycket slit kommit så långt som till att ladda upp min sida på webhotellet. Allt fungerar så när som på mina ImageButton. Jag vill sätta bilden dynamiskt med:

ImageButton1.ImageUrl = path + filnamn;

path får jag genom att använda

Server.MapPath("mittDirectory");

Då jag kör lokalt på min egen dator fungerar det men då jag kör på mitt webbhotell så fungerar det inte. Jag får inget felmeddelande utan det enda som händer är att mina bilder inte "laddas" till mina ImageButtons. Jag använder samma metod dvs Server.MapPath för att hitta xml filer och de kan jag läsa in om parsa. Kan det vara så att det finns någon mysko inställning i mitt webbhotell som tillåter att jag läser in xml filer men inte tillåter att jag sätter en bild dynamiskt eller har jag glömt något i koden?

ID: #14597 | Skapades: 2009-02-23 00:22:38 | Tråden har 7 svar och har lästs 404 gånger.

Frippe
Frippe

Gradering

#14598

Det skulle underlätta ifall du visade lite kod

C#
ID: #14598 | Skapades: 2009-02-23 00:30:20

zpeedi
zpeedi

Gradering

#14599

Jag är osäker på vad jag bör visa för kod. Enda raden som känns relevant är:

ImageButton1.ImageUrl = Server.MapPath("bilder") + "filnamn.jpg";

Satsen ligger inte i någon loop eller if sats. Bildtexten som jag sätter i samma metod visas. På ett annat ställe i använder jag

foreach (string s in Directory.Getfiles(Server.MapPath("mittDirectory")"*.xml")){

    foo.load(x);

    ....

och då funkar det att läsa mina .xml filer till foo.

ID: #14599 | Skapades: 2009-02-23 00:59:04

Frippe
Frippe

Gradering

#14600

Nu säger du att Server.MapPath("bilder") + "filnamn.jpg"; blir bilderfilnamn.jpg

Testa med detta


ImageButton1.ImageUrl = Server.MapPath("bilder") + "/" + "filnamn.jpg";

 

C#
ID: #14600 | Skapades: 2009-02-23 01:04:25

zpeedi
zpeedi

Gradering

#14601

Oops. sorry, jag håller på och ändrar och testar olika varianter så jag råkade klippa in fel i min andra post.

ImageButton1.ImageUrl = Server.MapPath("bilder") + "\\" + "filnamn.jpg";

skulle det stått men det funkar ändå inte. Server.MapPath returnerar pathname med \ och inte / jag har aldrig riktigt fattat skillnaden där. Jag har testat att lägga allt i en string och skriva ut stringen och den ser ok ut så det känns som om det borde vara något annat.

ID: #14601 | Skapades: 2009-02-23 01:29:45

voigtan
voigtan

Gradering

#14602

Server.Mappath retunera c:\...\... exempelvis, vilket inte är vad du är ute efter, du vill nog använda dig av ResolveUrl:

http://msdn.microsoft.com/en-us/lib...resolveurl.aspx

 

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #14602 | Skapades: 2009-02-23 06:46:20

zpeedi
zpeedi

Gradering

#14604

Tack. Det funkar med resolve url. Jag fattar inte varför men jag kanske bara borde vara lycklig och njuta av ögonblicket.

ID: #14604 | Skapades: 2009-02-23 08:25:15

voigtan
voigtan

Gradering

#14605

Klart man skall vara glad, och om det är ett problem man äntligen löser är det ju ännu bättre när det är "klart"

\ vs /

\ är för windows: c:\test\test och för webb så använder man / aspkoll.se/

För att förklara varför det fungera på din lokala men inte på servern är förmodligen att på den lokala så ligger filerna rätt: c:\minsida\images\1.png

medans på webbhotell kan den ligga på en helt annan disk som du inte har: z:\zpeedi_se\images\1.png på så sätt blir det "fel".

Glöm inte sätt tråden som löst ;)

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #14605 | Skapades: 2009-02-23 14:01:44
© Copyright 2007-2009 Shadi Domat | Version 3.0 | Sidkarta | Policy