115 messaggi dal 25 giugno 2008
Ciao ragazzi.
Ho implementanto una pagina con una GridView che al suo avvio preleva alcuni dati (non tutti) da una tabella del mio database in access e li visualizza.
Per visualizzare il resto dei dati di quella tabella del database, ho implementato un pulsante "Dettagli" su ogni riga della GridView in modo tale che quando l'utente ci clicca sopra, visualizza tutti i dati presenti nel database di quella riga selezionata in delle textBox.

Il problema è che, per come l'ho fatta io, riesce a visualizzare tutti i dati tranne l'immagine (che ovviamente la faccio visualizzare anzichè in una textBox, in un campo immagine)..qualcuno di voi mi saprebbe aiutare a risolvere questo problema???
Vi posto il codice della mia gridView:

CODICE DELLA PAGINA.ASPX
<td colspan="2" >
                        <asp:Label ID="messaggio" runat="server" Font-Italic="True" Font-Bold="True" Text="Numero barche a motore trovate"/><br />
                        <asp:Label ID="TotaleRisultati" runat="server" Font-Size="Smaller" ForeColor="#68a0f9"/><br />
                        <br />
                        <asp:GridView ID="gvBarcheNoleg" runat="server" AutoGenerateColumns="False" CellPadding="4" CellSpacing="1" DataSourceID="BarcheNolegDS" 
                                   Font-Names="Trebuchet MS" Font-Size="Small" ForeColor="#333333" GridLines="None" SelectedIndex="0" Width="599px">
                            <FooterStyle BackColor="#000099" Font-Bold="True" ForeColor="White" />
                            <RowStyle BackColor="#E3EAEB" ForeColor="#000099" />
                            <EditRowStyle BackColor="#7C6F57" />
                            <SelectedRowStyle BackColor="#B1E3EC" Font-Bold="True" ForeColor="#000099" />
                            <PagerStyle BackColor="#B1E3EC" ForeColor="#000099" HorizontalAlign="Center" Font-Bold="True" />
                            <HeaderStyle Font-Bold="True" ForeColor="#000099" />
                            <AlternatingRowStyle BackColor="White" />
                            <Columns>
                                <asp:CommandField SelectText="Seleziona" ShowSelectButton="True" />
                                <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" />
                                <asp:BoundField DataField="Nome" HeaderText="Nome" SortExpression="Nome" />
                                <asp:BoundField DataField="PrezzoGiorno" HeaderText="Prezzo_Giorno" SortExpression="PrezzoGiorno" />
                                <asp:BoundField DataField="PrezzoOra" HeaderText="Prezzo_Ora" SortExpression="PrezzoOra" />
                                <asp:ButtonField ButtonType="Button" Text="Dettagli" CommandName="DettagliBarca"/>
                            </Columns>
                        </asp:GridView>
                        <asp:SqlDataSource ID="BarcheNolegDS" runat="server" ProviderName="System.Data.OleDb" 
                                SelectCommand='SELECT [ID], [Nome], [PrezzoGiorno], [PrezzoOra] FROM [Noleggio] WHERE Categoria="Barca" '>
                        </asp:SqlDataSource>
                    </td>

CODICE DELLA PAGINA ASPX.VB
Protected Sub gvBarcheNoleg_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles gvBarcheNoleg.RowCommand
        If e.CommandName = "DettagliBarca" Then
            BarcheTutte.Visible = False
            dettagliBarca.Visible = True
            Dim row As GridViewRow
            row = gvBarcheNoleg.SelectedRow
            Dim sql As String
            sql = "SELECT ID, Nome, Immagine, Descrizione, PrezzoGiorno, PrezzoOra FROM Noleggio WHERE ID =" + row.Cells(1).Text + ";"
            Dim connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=" + Server.MapPath("..\db\dbNautica.mdb").ToString
            Dim myconnection As New OleDbConnection(connectionstring)
            Dim mycommand As New OleDbCommand(sql, myconnection)
            myconnection.Open()
            Dim reader As OleDbDataReader
            reader = mycommand.ExecuteReader
            While reader.Read()
                txtID.Text = reader.Item(0).ToString
                txtNome.Text = reader.Item(1).ToString
                Foto.ImageUrl = reader.Item(2).ToString
                txtDescrizione.Text = reader.Item(3).ToString
                txtPrezzoGiorno.Text = reader.Item(4).ToString
                txtPrezzoOra.Text = reader.Item(5).ToString
            End While
            myconnection.Close()
        End If
    End Sub
Se guardi l'html generato da ASP.NET, cosa trovi nell'attributo src del tag <img ..>?
115 messaggi dal 25 giugno 2008

Se guardi l'html generato da ASP.NET, cosa trovi nell'attributo src del tag <img ..>?


il resto del codice della pagina.aspx dove sono state definiti i campi che andranno a contenere i dettagli è il seguente:

<asp:Panel ID="dettagliBarca" runat="server">
            <br />
            <table>
                <tr>
                    <td colspan="2">
                        <asp:Label cssClass="labelTitolo" ID="label11" Text="Dettagli barca a motore selezionata" runat="server" />
                        <br />
                    </td>
                </tr>
                <tr>
                    <td style="height: 1%;">
                        <asp:Label ID="Label1" runat="server" Text="ID:" Font-Bold="True" />
                    </td>
                    <td style="height: 1%">
                        <asp:TextBox CssClass="textBox" ID="txtID" ReadOnly="true" runat="server" />
                    </td>
                </tr>
                <tr>
                    <td style="width: 125px"> 
                        <asp:Label ID="Label2" runat="server" Text="Nome:" Font-Bold="True" />
                    </td>
                    <td>
                        <asp:TextBox cssClass="textBox" ID="txtNome" runat="server" />
                    </td>
                </tr>
                <tr>
                   <b>
                    <td style="width: 125px"> 
                        <asp:Label ID="Label3" runat="server" Text="Immagine:" Font-Bold="True" />
                    </td>
                    <td>
                        <asp:Image ID="Foto" runat="server" ToolTip="foto barca"/>
                    </td>
                  </b>
                </tr>
                <tr>
                    <td style="width: 125px"> 
                        <asp:Label ID="Label4" runat="server" Text="Descrizione:" Width="102px" Font-Bold="True" />
                    </td>
                    <td>
                        <asp:TextBox CssClass="textBox" ID="txtDescrizione" runat="server" />
                    </td>
                </tr>
                <tr>
                    <td style="width: 125px"> 
                        <asp:Label ID="Label5" runat="server" Text="Prezzo al Giorno:" Font-Bold="True" Width="113px" />
                    </td>
                    <td>
                        <asp:TextBox CssClass="textBox" ID="txtPrezzoGiorno" runat="server" />
                    </td>
                </tr>
                <tr>
                    <td style="width: 125px; height: 1%;"> 
                        <asp:Label ID="Label6" runat="server" Text="Prezzo ad Ora:" Width="96px" Font-Bold="True" />
                    </td>
                    <td style="height: 1%">
                        <asp:TextBox CssClass="textBox" ID="txtPrezzoOra" runat="server" />
                    </td>
                </tr>


quello che ho messo in grassetto è il campo che conterrà l'immagine, non so se l'ho definito bene...puoi dirmi tu se devo aggiungere qualcosa? e se si cosa????
ti ringrazio già in anticipo...
Sì, ma devi guardare l'html DOPO che hai impostato i valori delle proprietà, non prima. Voglio semplicemente che verifichi se l'url che inietti è corretto.

Tra l'altro, non ti ho chiesto il markup della pagina ASPX, ma l'HTML che generi sul browser.

m.
Modificato da Cradle il 11 marzo 2009 13.29 -
115 messaggi dal 25 giugno 2008
ah scusami allora...purtroppo non sono molto pratica di asp.net, non l'ho mai utilizzato e studiato e sto imparando man mano che sviluppo le cose.
Quindi, se non è troppo, ti chiedo per favore di spiegarmi come faccio a fare quello che mi hai detto tu perchè io sinceramente non l'ho mai fatto e quindi non lo so fare...
Eheh quello che ti chiedo è molto più semplice ti ciò che sembra. Esegui la tua applicazione fino a visualizzare sul browser la pagina dove ti aspetteresti l'immagine. Poi fai
- View -> Page Source se usi Firefox
oppure
- Page -> View Source con IE

e vedi l'HTML. Al suo interno troverai il tag relativo alla tua immagine:
<img src="..." />


Cosa c'è scritto come Src?

m.
115 messaggi dal 25 giugno 2008
hihihih ok grazie della spiegazione

cmq questo è quello che c'è scritto in src: System.Byte[]

cosa vuol dire?
426 messaggi dal 17 aprile 2006
vuol dire che in Foto non hai registrato il nome dell'immagine ma l'immagine stessa... che tipo di dato è?

se immetti le immagini nel db (pratica il più delle volte da evitare se non con SqlServer 2008 che ha una gestione dei file differente, ma a mio modo di vedere assolutamente da evitare con access) allora sei costretto ad usare un Handler delle immagini, cioè una pagina a parte a cui punterai che avrà il codice per leggere l'immagine dal db e rimetterla nello streaming della pagina

guarda qui per visualizzare le immagini dal db.
http://www.aspitalia.com/script/570/Visualizzare-Immagine-Estratta-Database-ASP.NET.aspx

comunque fatti un favore, non salvare le immagini su access, ma meglio ancora togli access ed usa SqlExpress

Ciao Alessandro

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.