Avatar billede edl Nybegynder
06. december 2003 - 23:20 Der er 21 kommentarer og
1 løsning

Dynamisk billedere på web side med ASP:Datalist

Hej

Kan man indlæse et billede hvor placeringen kommer fra en access database eks

STI : /ASP_NET/PIC/Sample.gif

Denne sti vil jeg gerne have som et dynamisk bilede i denne funktion

<asp:Image id="Image0" width="140px" ImageAlign="NotSet" runat="server"/>

For derefter at køre en asp:dataliste

Jeg har fuldt kontrol over database og tekst funktionerne

<ASP:DataList id="dlData" runat="server" RepeatDirection="Horizontal" RepeatColumns="1" align="center">

<ItemTemplate>
<td width="150px"><div align="left"> </div>
<asp:Image id="Image0" width="140px" ImageAlign="NotSet" runat="server"/><br>
</td>
<td width="15px">
</td>
<td valign="top" width="450px"><div align="center"></div>   
<span class="A2"><%# DataBinder.Eval(Container.DataItem, "HeadText") %></span><br><br>
<span class="A3"><%# DataBinder.Eval(Container.DataItem, "BodyText") %></span>
<span class="A8"><%# DataBinder.Eval(Container.DataItem, "FootText") %></span>
<tr>
<td colspan="3">
<!--#include file="NET_inc/Line.inc" -->
</td>
</tr>
</ItemTemplate>
</ASP:DataList>
Avatar billede repsak Nybegynder
06. december 2003 - 23:23 #1
Avatar billede repsak Nybegynder
06. december 2003 - 23:24 #2
hehe det var også dig...
Avatar billede edl Nybegynder
06. december 2003 - 23:30 #3
Ja det var en fin løsning sidst, men nu kan jeg ikke forstå hvorledes man kan når du bruger en Datalist.

For hver loop eller hvad det nu er vil jeg have indlæse et billede,
er image id ikke statisk.

Kan du forstå hvor jeg vil hen ???
Avatar billede edl Nybegynder
06. december 2003 - 23:34 #4
Lidt mere:
Hver row i databasen består af et billede samt en head / body / foot text
Avatar billede repsak Nybegynder
06. december 2003 - 23:35 #5
ja!
hvorfor ikke bare skrive noget a la Response.Write("<img src="GetFromDB(SQL)"/>"); inde i templaten?
Avatar billede odegaard Nybegynder
06. december 2003 - 23:44 #6
private void Page_Load(object sender, System.EventArgs e)
{
    bool Error = false;
    try {
        int.Parse(Request.QueryString["UserID"]);
        OleDbConnection SQLCon = new OleDbConnection(ConnStr);
        SQLCon.Open();
        string strSQL = "SELECT Image FROM Images WHERE ID=" + Request.QueryString["ImageID"];
        OleDbCommand objCmd = new OleDbCommand(strSQL, SQLCon);
        OleDbDataReader dr = objCmd.ExecuteReader();
   
        if ( dr.Read()) //image exists
        {
            Response.ContentType = "image/jpeg";
            Response.BinaryWrite( (byte[]) dr["Image"] );
        }
        else
            Error = true;
    }
    catch(System.Exception ex)
    {
        Response.Write(ex.Message);
        Error=true;
    }
    if(Error)
    {
        Response.Write("Image not found");
    }
}
Avatar billede edl Nybegynder
06. december 2003 - 23:44 #7
Jeg forstår ikke havd du mener:

Jeg her jo lavet en søgning i database, hvor jeg modtager div data via sql
Hvad laver GetFromDB
Hvorfor skal man så til dette igen jeg har jo stregen men vil kunne bruge den som image0.url er dette ikke rigtigt eller havd ????.
Avatar billede repsak Nybegynder
06. december 2003 - 23:46 #8
hvad ligger i DB?
Url eller binary data?
hvis binary så brug odegaards løsning
Avatar billede edl Nybegynder
06. december 2003 - 23:50 #9
Url sti ligger i databasen
Avatar billede odegaard Nybegynder
06. december 2003 - 23:51 #10
Der skal selvfølgelig ikke stå UserID, men ImageID i int.Parse funktionen.
Avatar billede edl Nybegynder
06. december 2003 - 23:54 #11
odegaard
Skal billede ikke lige som binary data i databasen for at kunne bruge dit forslag.
Avatar billede odegaard Nybegynder
06. december 2003 - 23:55 #12
Øh jo jeg misforstod vist lidt. Men så er der vel heller  ikke meget dynamisk over billedet
Avatar billede repsak Nybegynder
06. december 2003 - 23:55 #13
skal du have et forskelligt billede for hvert gennemløb af template?
hvis ja, så skal du importere url fra databasen. Måske har du allerede gjort det, og så skal du hente den med "><%# DataBinder.Eval(Container.DataItem, "image") %>
Avatar billede odegaard Nybegynder
06. december 2003 - 23:56 #14
Du sætter da bare ImageUrl=db["path"]
Det kan du jo passende gøre fra OnItemDataBound eventet
Avatar billede repsak Nybegynder
06. december 2003 - 23:56 #15
med dynamisk menes vist at der er dynamiske url i DB
Avatar billede edl Nybegynder
07. december 2003 - 00:05 #16
Ja jeg skal have et forskelligt billede for hvert gennemløb

Men hvor dan kan man sætte ImageUrl med
<asp:Image id="Image0" width="140px" ImageAlign="NotSet" runat="server"/><br>
"><%# DataBinder.Eval(Container.DataItem, "image") %>
Da jeg må formode at Image id= må være unikt.

Gennemløb 1
Billede 1 (Kommer fra url i database)  text 1 ... osv

Gennemløb 2
Billede 2 (Kommer fra url i database)  text 1 ... osv

osv
.
.
.
Avatar billede repsak Nybegynder
07. december 2003 - 00:20 #17
hvorfor bruge serverside kontroller?
Avatar billede edl Nybegynder
07. december 2003 - 00:20 #18
repsak var den der IGEN fik mig på rette spor så tak for dette
Avatar billede repsak Nybegynder
07. december 2003 - 00:23 #19
lykkedes det?
Avatar billede edl Nybegynder
07. december 2003 - 00:31 #20
Ja det lykkes og jeg har accepteret dit svar
Jeg skal lige bruge lidt tid på forståelse.
Tak
Avatar billede repsak Nybegynder
07. december 2003 - 00:33 #21
:-) det var så lidt
Avatar billede repsak Nybegynder
07. december 2003 - 00:47 #22
...en anden gang er det måske lige i overkanten at stille 200points på højkant for et forholdsvist lille spørgsmål... Jeg tvivler på at du får bedre/hurtigere svar på den måde :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester