View source är en bra funktion...
Sätt url:en på en Image-kontroll i stället, så ska du se att det går bättre.
13 svar · 719 visningar · startad av saw
Jag försöker att göra en webcontroll och har lagt till tre bilder(gif) i den
Resources möjligheten man får om man klickar på webbcontrollens properties.
(jag hoppas att ni förstår mig.
Jag försöker att använda mig av bilderna så här:
string gifJa = Page.ClientScript.GetWebResourceUrl(this.GetType
(), "Controll_Votes._5.gif");
//lite kod
output.Write("<Img Src=" + gifJa + " height=10 width =" + syes + ">");
Problemet är att jag kan inte få tag på bilden. Den visar "platshållaren för
bild" men ingen bild. Jag gör naturligtvis fel, men hur bör jag göra?
View source är en bra funktion...
Sätt url:en på en Image-kontroll i stället, så ska du se att det går bättre.
Kan jag kodmäsigt lägga in en inagekontroll via output.Write???
Jag vet inte vad output.Write är i detta sammanhang, men nej, det kan du inte.
Som sagt, view source är en bra funktion. Använd den när sidor inte ser ut som de bör.
Problemet i detta fall är att GetWebResourceUrl returnerar en applikationsrelativ Url, med tilde-tecken i början, vilket förstås inte är så populärt i webbläsaren. Använd en Image-kontroll, eller kör ResolveUrl på url:en innan du använder den.
Hur jag än gör, så får jag inte fram det resultatet som jag vil ha, alltså ingen
bild.
syes = contVotes(Yes, Yes +No + DontKnow).ToString();
decimal dja = Convert.ToDecimal(syes);
Image gifJa = new Image();
gifJa.ImageUrl = this.Page.ClientScript.GetWebResourceUrl(this.GetType(), "_5.gif");
gifJa.Width =dja;
this.Controls.Add(gifJa);
//här är många olika output
output.Write(gifJa);
Jag har suttit länge och väl, försökt söka på internet men hur jag än gör
så kommer det bara fram galet, som säger att det är
System.Web.UI.WebControls.Image
Jag skulle vara väldigt tacksam för hjälp här.
Med andra ord så kan jag alltså inte visa en gif-bild via en webcontroll?
Det ser ut som om jag får lägga ner detta projekt då.
Nej, det jag sa var:
1. Du kan inte lägga in en Image-kontroll via output.write
2. Om du nödvändigtvis måste använda output.write så kan du ta reda på url:en med ResolveUrl.
Har du provat "view source" på sidan?
Nej jag hittade någonting annat so jag trodde skulle hjälpa mig men inte.
Ja jag har kollat view source och jag blir bara besviken, jag får ju intemed mig någonting av vikt.
Nu skriver jag via StringBuilder det verkar lite vettigare. Så här har jag det nu:
System.Drawing.Image gifJa = (System.Drawing.Image)Resource1._5;
System.Drawing.Image newgifJa =
gifJa.GetThumbnailImage(Convert.ToInt32(Yes), Convert.ToInt32("10"), null, IntPtr.Zero);
gifJa.Dispose();
newgifJa.Save(HttpContext.Current.Server.MapPath("5.gif"),
System.Drawing.Imaging.ImageFormat.Gif);
//så långt utan problem men sen när jag skall visa...
sb.Append("<td>" + newgifJa.ImageUrl = "5.gif" + "</td>");
File.Delete(HttpContext.Current.Server.MapPath("5.gif"));
//då är problemet att newgifJa inte har ImageUrl
saw skrev:
Ja jag har kollat view source och jag blir bara besviken, jag får ju intemed mig någonting av vikt.
Men någonting måste det väl stå i html-koden, där du ville ha ut bilden?
Nu har jag efter att letat/sökt/försökt och gjort nästan allt, lite gått tillbaka
till min första kod.
string gifJa = Page.ClientScript.GetWebResourceUrl(this.GetType(), "Controll_Votes._5.gif");
Image imgJa = new Image();
//och i stringbuildern
sb.Append(imgJa.ImageUrl = gifJa);
När jag kollar i viewsourse
<td>/UseDataCaching/WebResource.axd?
d=EghcrTmvw0mQiLPhysPE4DA8i2myYxM-
stMA6VwPEOapKHUlGau3TVYuC2eHgCMm0&t=633082568189375000</td>
//när jag lägger in kontrollen i en webbpage står det
mvwres:1-Controll_Votes._5.gif,Controll_Votes,Vertion 1,0,2615,19598,
Culture=neutral,PublicKeyToken=null
Det ända som jag förstår av detta är att jag är helt fel ute.
Jag har fått göra det näst bästa av det hela
sb.Append("<td><div style=\"background-color:Blue; width:" +
Convert.ToInt32(sdontKnow) + "px\" ></div></td>");
Detta fungerar men blir inte lika snyggt som en bild.
Hur gör jag om jag vill ha en property för att välja färg???
[REDIGERAT]
Jag får vara nöjd med mitt resultat, tack för all hjälp.
Tack emission dessa sidor har jag aldrig sett innan.