Hej Hejm Vanligtvis så är både System.Web.UI.WebControls.Image och System.Drawing inkluderat på en sida via using och då blir det en tvetydig reference till Image objektet eftersom det finns i båda dessa namespace. Skriv istället: Vet inte om någon har uppmärksammat det, men han försöker även att spara undan <b>Image</b> objektet i en <b>string</b>-variable... ajabaja =) Man tackar för all hjälp. Micke. Helt rätt uppfattat. Vill tillägga att tipset från Tosca här ovan måste oxå tas med. Slutligt resultat: Smyken, Var helt säker på att jag gjorde det. Måste ha drömt.... Nu är det gjort i alla fall....Hittar inte kontrollen Image med FindControl?
Jag har en Datagrid där jag dynamiskt visar bilder. Så här:
<code><asp:Datagrid id="pics" runat="server">
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<asp:Image id="bild" src='<%# "bilder/medier/"+ DataBinder.Eval(Container.DataItem, "fotourl") %>' runat="server" />
</ItemTemplate>
....... osv</code>
Jag försöker nå den med en FindControl så här:
<code>string Text = ((Image)e.Item.FindControl("bild"));</code>
men får bara ett (för mig) mystiskt felmeddelande:
<code>CS0104: Image är en tvetydig referens</code>
Detta funkar ju bra med en rad andra kontroller så varför inte <asp:Image>??
// SmykenSv: Hittar inte kontrollen Image med FindControl?
Du får olika idn för dem så den vet inte riktigt vilken du vill ha. Gör så att du kör eventet ItemCreated och där i letar du upp bilden. Tänk då att den tar varje rad för sig, så har du 300 rader hittar du alla 300 bilderna och kan då göra saker med dem.
Vill du hitta just en bild, och du vet raden så kan du leta upp dem i Columns för DataGriden där duy då anger rad ID eller liknande.
Mvh JohanSv: Hittar inte kontrollen Image med FindControl?
<code>string Text = ((System.Web.UI.WebControls.Image)e.Item.FindControl("bild"));</code>
Görs då i DataGridens ItemDataBound event som Johan skrev.Sv: Hittar inte kontrollen Image med FindControl?
Sv: Hittar inte kontrollen Image med FindControl?
Ja, som Andreas påpekat så sparar jag ju undan fel sak... Det är inte objektet i sig jag vill åt utan datan som Imageobjektet visar, dvs en url-sträng (Detta för att kunna använda file.delete på den rad som användaren klickar på).
Angriper jag problemet på fel sätt månne....?
// MickeSv: Hittar inte kontrollen Image med FindControl?
Du har en bild? som du vill få tag i och sedan veta dess URL? Då får du ange propertyn som returnerar sökvägen. (ImageUrl)
typ:
<code>
string Text = ((Image)e.Item.FindControl("bild")).ImageUrl;
</code>
Mvh JohanSv: Hittar inte kontrollen Image med FindControl?
<code>string Text= ((System.Web.UI.WebControls.Image)e.Item.FindControl("bild")).ImageUrl;</code>
Tack för all hjälp
// MickeSv: Hittar inte kontrollen Image med FindControl?
Ta gärna för vana att markera inlägg som lösta (uppe till höger) när du fått ett svar du är nöjd med. Detta hjälper andra som söker lösningen på samma eller liknande problem att se att denna tåden innehåller så väl en fråga som ett svar.Sv: Hittar inte kontrollen Image med FindControl?