webForumDet fria alternativet

Koppla bild till datagrid!

.NET

10 svar · 327 visningar · startad av Mc Fetto

Medlem sedan nov. 20022 355 inlägg
Frågan#1

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

Medlem 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.

Medlem 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?

Medlem 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.

Medlem 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?

Medlem sedan maj 2001329 inlägg
#6

med en ImageButton

Medlem sedan nov. 20022 355 inlägg
#7

I en datagrid, hur?

Medlem 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...
}
Medlem sedan nov. 20022 355 inlägg
#9

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

Medlem 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!)

Medlem 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!

256 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)