Hej skulle ha funkat, om det inte vore så att jag har include fil vilket gör att Du kan ju ange ~/ i början, vilket betyder din root. Ez Glöm inte att sätta Runat="Server" om du vill använda det här. Mikel, Vet inte om jag är dum men jag brukar alltid för att vara säker på liknande problem sätta en variabel i scriptet som känner av vilken adress sidan ligger på (cookie eller så) för att sedan bara hämta den pathen innan varje bild... Daniel, hehe.. f*n till att vara petig ;-) varför inte använda en Image-kontroll och skrivarelativa pathar
Jag har ett litet problem. Det är så när jag sitter på utv. miljön så blir som bekant sökvägen
för hemsidan http://localhost/[projname]/ och local sökväg tex c:\Inetpub\wwwroot\[projname].
Rooten brukar vara wwwroot för localhost.
För att sökvägen till en bild ska bli rätt måste pathen bli <img scr=/[projname]/image/bild.gif>
Nu till problemet:
När jag laddar upp projektet till webbhotellet så blir detta en felaktig path. Då ska den korrekta
pathen vara <img scr=/image/bild.gif> (utan [projname]), eftersom detta är mitt rootnamn.
Hur ska jag göra för att alltid ha samma path? Kan nämnas att jag försökt sätta om min root
på IIS:en till [projname] men då funkar inte debuggen.
Hjälp, och tack!
/MarcusSv:relativa pathar
sökvägen blir olika beroende på vilken aspx jag browsar.
[projname]
-Includes
menu.ascx
-Bilder
bild1.gif
-Medlemmar
index.aspx
-Other
index.aspx
index.aspx
Exemplet ovan visar min menu i foldern includes. Menyn använder sig av bild1.gif under
foldern Bilder. Medlemmar\Index.aspx har <include menu.asxc> samt även
[projname]\index.aspx samt Other\index.aspx. Detta gör förstås att sökvägen till bild1.gif
blir olika beroende på vilken aspx fil jag visar. Det är därför jag behöver köra från rooten.
/MarcusSv: relativa pathar
img src="~/<projktnamn>images/bild2.jpg"
gör. Root/<projektnamn>Images/bild2.jpg
Kan detta vara en lösning?
Mvh JohanSv:relativa pathar
T.ex.:<img src="~/images/minsoetamor.jpg" id="MyMother" Runat="Server" />
Bilden blir då en HTML Control som du kan ändra i code behind vid behov.
Sv: relativa pathar
Är det inte onödigt att skapa kontroller om man inte vet om man vill hantera dem i codebehind?
jag uppfattar att det är bättre att inte sätta alla som kontrller med argument som innehåller "kanske". För detta kanske kan medföra extra arbete eller ökat behov av resurser. Då är det väl bättre att göra på det sätt kravet säger och vid senare behov om det kommer ett nytt krav införa runat="server" på ex <img>?
För bygger man efter "kanske" principen så har du ev i slutändan lagt massa tid på saker som bara stör systemet än ger nytta och äventyrar deadline och kanske prestanda m.m.
Bara min åsikt, kan ha fel.
Mvh JohanSv:relativa pathar
Sv: relativa pathar
Du är inte dum bara lite tokig ;-)
Du vet att cookies är lätta att hacka va? Om din Path används till flera olika ändamål kan man nog få göra en hel del kul med din applikation om du gör på detta viset. Jag tycker inte du skall fortsätta att lägga dem i cookie utan då om du kör ASP .net lägga dem i web.config. Även Path klassen kan hjälpa till med en del sökvägar utan problem och tilde ~/ ger dig trevlig access till rooten utan att behöva känna till urlen m.m. Tror det är rättare vägar att gå.
Annars var idéen smidig. Men av säkerhetsskäl kanske inte lika god?
mvh JohanSv:relativa pathar
Men du har nog rätt att jag är tokig när du säger det såå...
Men ärligt talat visste jag faktiskt int eom detta om tilde och jag har precis börjat med .NET...
(skyller ifrån mig så mycket jag bara kan)...
Men tack för infot, det var mycket givande...Sv: relativa pathar
<code .net>
Img1.ImageLocation = Server.MapPath(".") + "\bilder\bild.jpg"
</code .net>
obs! kan finnas fel i koden pga jag inte har vs.net på denna maskinen.men borde funka.Img1är en Image kontroll
Om du sitter på din lokaladator då blir ju sökvägen c:\Inetpub\wwwroot\[projname]\bilder\bild.jpg
Om det är på servern så blir det ju var dom har sin wwwroot och sen ditt projectname\bilder\bild1.jpg