webForumDet fria alternativet

Koppla bild till datagrid!

10 svar · 327 visningar · startad av Mc Fetto

Mc FettoMedlem sedan nov. 20022 355 inlägg
#1

Jag har en URL i en databas vilken jag skulle vilja använda till bilder i en datagrid. Hur gör jag detta?

NETworkMedlem sedan juni 20011 732 inlägg
#2

Det lättaste sättet tycker jag (dock inte det snabbaste) är att använda templates där du lägger en asp:image:

<asp:TemplateColumn>
  <ItemTemplate>
    <asp:Image ID="myImage" ImageUrl='<%# DataBinder.Eval(Container, "DataItem.[b]URL[/b]") %>' Runat=server"></asp:Image>
  </ItemTemplate>
</asp:TemplateColumn>

...där URL då ska bytas ut mot det namn kolumnen med bild-url:erna har i din databas. För övrigt tycker jag inte du ska lagra hela url:en i din databas, spara bara bildnamnet och skapa sökvägen dynamiskt i koden istället.

Mc FettoMedlem sedan nov. 20022 355 inlägg
#3

Tackar, jo jag sparar endast namnet på bilden... Det fungerade bra, om man sedan vill kunna länka är det bara att lägga till <href
i templaten eller?

NETworkMedlem sedan juni 20011 732 inlägg
#4

Nja, gör istället en <asp:hyperlink>:

<asp:HyperLink ImageUrl="bildurl" NavigateUrl="länkurl" Runat="server"></asp:HyperLink>

Men självklart kan du använda vanlig html i en template också, eller en kombination. Fördelen med att använda asp-kontroller är att de genereras dynamiskt och att du därför kan programmera mot dem, du kanske inte behöver det just nu men varför inte framtidsäkra från början. Dessutom får du snyggare kod i dina dokument. ;)

Det ska dock påpekas att en asp-kontroll alltid är lite långsammare än en vanlig html-tagg.

Mc FettoMedlem sedan nov. 20022 355 inlägg
#5

Hm, om jag istället skulle vilja att när man klickar på bilden så ska ett funktionsanrop göras... Hur gör man det?

GrynetMedlem sedan maj 2001329 inlägg
#6

med en ImageButton

Mc FettoMedlem sedan nov. 20022 355 inlägg
#7

I en datagrid, hur?

NETworkMedlem sedan juni 20011 732 inlägg
#8

Du får sätta onclick="myFunction" i din imagebutton och sedan gör du en funktion precis som vanligt:

protected void myFunction () {
  //kod...
}
Mc FettoMedlem sedan nov. 20022 355 inlägg
#9

/r Det var inget, klar förvirrad bara! :)

Mc FettoMedlem sedan nov. 20022 355 inlägg
#10

Jag gör följande:

 OnClick='<%# Session["file"] = DataBinder.Eval(Container, "DataItem.Picture") %>'

i taggen

<asp:ImageButton...

Men det fungerar inte, varför inte? Kan man ha en funktion i onClick som tar ett argument med sig eller? (helt värdelös på html!)

NETworkMedlem sedan juni 20011 732 inlägg
#11

Nejn så kan du inte göra... anropa en funktion, sedan använder du eventuella sessioner i den funktionen!

249 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
129 ms — hämta forumlista (db)
118 ms — hämta statistik (db)
127 ms — hämta tråd, inlägg och bilagor (db)