+ Rispondi al Thread
Pagina 3 di 4 primaprima 1234 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 33

Discussione: Bind a immagine

  1. #21
    L'avatar di Unknow
    Unknow non è in linea Scolaretto
    Post
    88
    Ti ringrazio.
    Per ora imparo solamente a usare i vari controlli, ho delle possibilità di sviluppo che non so se avranno mai sbocco pratico...
    (Cerco di non farmi cogliere impreparato ).

  2. #22
    L'avatar di Unknow
    Unknow non è in linea Scolaretto
    Post
    88
    Oh,Oh. Ho parlato troppo presto...
    Premetto che è la prima volta che uso i parametri e la seconda un datareader.
    codice:
            'Impostiamo la connessione al DB
            Dim con As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; data source =" & context.Server.MapPath("Archivio.mdb"))
            con.Open()
            
            Dim sql As String = "Select OggettoOLE FROM Tabella WHERE ID = @ImageId"
            Dim cmd As New Data.OleDb.OleDbCommand(sql, con)
            MsgBox(context.Request.QueryString("ID"))
            cmd.Parameters.Add("@ImageId", Data.OleDb.OleDbType.Integer).Value = context.Request.QueryString("ID")
            cmd.Prepare()
            Dim dr As Data.OleDb.OleDbDataReader = cmd.ExecuteReader()
            dr.Read()
            context.Response.ContentType = dr("Image_Type").ToString()
            context.Response.BinaryWrite(DirectCast(dr("OggettoOLE"), Byte()))
            dr.Close()
            con.Close()
    Ho convertito il codice in VB, ho aggiunto la riga rossa per vedere il valore del parametro, ma mi risulta vuoto.
    Inoltre non capisco da dove viene fuori ("ID") di QueryString...


    Se è stato preso dal codice ASP:
    codice:
    <asp:Image ID="Image1" runat="server" ImageUrl='<%#    "Handler.ashx?id = " & Eval("ID")  %>' />
    quest'ultimo mi sembra corretto!
    Ultima modifica di Unknow; 12-11-2008 16:07 

  3. #23
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    Quote Originariamente inviato da Unknow Visualizza il messaggio
    codice:
    <asp:Image ID="Image1" runat="server" ImageUrl='<%#    "Handler.ashx?id = " & Eval("ID")  %>' />
    quest'ultimo mi sembra corretto!
    Assolutamente no...Ma prima di dirti l'errore due cose(compreso la risoluzione). Prima

    Quote Originariamente inviato da Unknow Visualizza il messaggio
    MsgBox(context.Request.QueryString("ID"))
    Se devi debuggare ci sono mezzi più idonei che una messagebox. Breakpoint più finestra di watch o usareil namespace System.Diagnostics.

    Secondo spero che il controllo image sia all'interno di un controllo in cui avviene un bind come un gridview e in tal caso sarà meglio togliere un pò di spazi:
    codice:
    <asp:Image ID="Image1" runat="server" ImageUrl='<%#"Handler.ashx?id=" & Eval("ID")  %>' />

  4. #24
    L'avatar di Unknow
    Unknow non è in linea Scolaretto
    Post
    88
    Non funziona.
    Ho provato a correggere la riga ma continua a dire:
    "Nessun valore predefinito per il parametro @ImageId."

    La riga di cui parliamo è inserita in una datalist, in questo modo:
    codice:
            <asp:DataList ID="DataList1" runat="server">
                        <ItemTemplate>
    
    <asp:Image ID="Image1" runat="server" ImageUrl='<%#"Handler.ashx?id=" & Eval("ID")  %>' />
    ...

  5. #25
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    Prima di verificare il codice dell'http handler un paio di domande:
    1)quando fai il bind del datalist il DataTable contiene il campo ID giusto?(altrimenti andrebbe in errore)
    2)inserendo un breakpoint nell'http hanlder context.Request.QueryString("ID") risulta null?

  6. #26
    L'avatar di Unknow
    Unknow non è in linea Scolaretto
    Post
    88
    1) La datalist contiene tutti i campi, in quanto faccio select *
    2) Sembra che context.Request.QueryString("ID") sia nullo.
    Ho provato a cambiare il nome da ID a un altro, pensando che potesse dipendere da un conflitto con il nome del campo, ma non è cambiato niente.

  7. #27
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    Quote Originariamente inviato da Unknow Visualizza il messaggio
    2) Sembra che context.Request.QueryString("ID") sia nullo.
    Come sembra?...o è null oppure no....
    La prova che ti ho chiesto nel punto due è semplice:
    1)inserisci un break nell'http handler(tramite F9 sulla prima riga)
    2)lanci(F5) la web application in modalità debug
    Si ferma sul break che hai inserito?
    Se si allora senza stoppare nulla seleziona(tasto sinistro del mouse) tutto:
    context.Request.QueryString("ID")
    premi su shift+F9
    ti si aprirà la finestra di watch.
    A questo punto come value cosa c'è scritto? null?

  8. #28
    L'avatar di Unknow
    Unknow non è in linea Scolaretto
    Post
    88
    Mi si blocca sul break.
    Facendo come dici tu mi scrive: "Nothing".
    (per questo ho scritto che SEMBRA essere Null )

  9. #29
    L'avatar di SignIn
    SignIn non è in linea Scribacchino
    Luogo
    Milano
    Post
    1,026
    Bhè sembra e fare debug(in quel modo) sono due cose diverse
    Fa una prova molto semplice invece di fare il bind(eval) sul campo id scrivi sulla property ImageUrl il valore di un id esistente nella tua tabella. Es:
    codice:
    <asp:DataList ID="dl1" runat="server">
        <ItemTemplate>
          <asp:Image ID="Image1" runat="server" ImageUrl='<%#"Handler.ashx?id=1"%>' />
        </ItemTemplate>
    </asp:DataList>

  10. #30
    L'avatar di Unknow
    Unknow non è in linea Scolaretto
    Post
    88
    Stranissimo.
    Non mi vede neppure il numero inserito manualmente.

+ Rispondi al Thread
Pagina 3 di 4 primaprima 1234 ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi