31 messaggi dal 26 febbraio 2007
Parto dall'inizio abbiamo creato un ecommerce...nell'amministrazione ho dei checkbox per identificare se il prodotto è in arrivo o nuovo.

Nella visualizzazione degli articoli abbiamo creato un controllo per inserire tre immagini a seconda della disponibilità del prodotto (disponibile, non disponibile, tra 1 e 5 unità) e due immagini per identificare se il prodotto è in arrivo o nuovo.

All'apparenza funziona ma solo su alcuni articoli in altri articoli non mi fà vedere lè immagini relative alla disponibilità oppure mi ridà quest'errore:

Cast non valido dal tipo 'DBNull' al tipo 'Boolean'. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.InvalidCastException: Cast non valido dal tipo 'DBNull' al tipo 'Boolean'.

Source Error: 


Line 145:                                                    <asp:Image ID="Image3" runat="server" ImageAlign="AbsMiddle" />
Line 146:                                                    <asp:Image ID="Image4" runat="server" ImageAlign="AbsMiddle" />
Line 147:                                                    <asp:CheckBox ID="CheckBox1" runat="server" Visible="False" Checked='<%# Eval("nuovo") %>' /><br />
Line 148:                                                    <asp:CheckBox ID="CheckBox2" runat="server" Visible="False" Checked='<%# Eval("inarrivo") %>' />
Line 149:                                                    <br />
 

Source File: D:\Inetpub\webs\roeldistribuzioniit\sottocat.aspx    Line: 147 



in alre categorie addirittura non mi fa accedere dandomi questo errore:

Input string was not in a correct format. 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.FormatException: Input string was not in a correct format.

Source Error: 


Line 50:             End If
Line 51: 
Line 52:             If CInt(disp.Text) < 0 Then
Line 53:                 imgdisp.ImageUrl = "icona_non_disponibile.gif"
Line 54:             ElseIf CInt(disp.Text) > 0 And inarrivo.Checked Then
 

Source File: D:\Inetpub\webs\roeldistribuzioniit\sottocat.aspx.vb    Line: 52 

Stack Trace: 


Potete vedere l'esempio pratico su http://www.roeldistribuzioni.it e navigando all'intereno delle categorie.

Vi posto inoltre la parte interessata del codice sorgente

Protected Sub GridView2_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView2.RowDataBound
        If e.Row.RowType = DataControlRowType.Header Or e.Row.RowType = DataControlRowType.Footer Or e.Row.RowType = DataControlRowType.Pager Then
            'nuylla
        Else
            Dim disp As Label = CType(e.Row.FindControl("Label5"), Label)
            Dim inarrivo As CheckBox = CType(e.Row.FindControl("checkbox2"), CheckBox)
            Dim nuovo As CheckBox = CType(e.Row.FindControl("checkbox1"), CheckBox)
            Dim imgdisp As Image = CType(e.Row.FindControl("Image2"), Image)
            Dim imgextra As Image = CType(e.Row.FindControl("image3"), Image)
            Dim imgextra2 As Image = CType(e.Row.FindControl("image4"), Image)

            If nuovo.Checked Then
                imgextra.ImageUrl = "nuovo.gif"
            Else : imgextra.Visible = False
            End If

            If inarrivo.Checked Then
                imgextra2.ImageUrl = "inarrivo.gif"
            Else : imgextra2.Visible = False
            End If

            If CInt(disp.Text) < 0 Then
                imgdisp.ImageUrl = "icona_non_disponibile.gif"
            ElseIf CInt(disp.Text) > 0 And inarrivo.Checked Then
                imgdisp.ImageUrl = "icona_non_disponibile.gif"
            ElseIf CInt(disp.Text) > 5 Then
                imgdisp.ImageUrl = "icona_disponibile.gif"
            ElseIf CInt(disp.Text) > 0 And CInt(disp.Text) < 5 Then
                imgdisp.ImageUrl = "icona_media.gif"
            End If

            Dim panello As Panel = CType(e.Row.FindControl("Panel2"), Panel)
            If CInt(disp.Text) > 0 Then
                panello.Visible = False
            Else
                panello.Visible = False
                Dim carrellino As ImageButton = CType(e.Row.FindControl("ImageButton1"), ImageButton)
                carrellino.OnClientClick = "javascript:alert('L articolo selezionato non è disponibile in magazzino, per evadere quindi completamente il carrello bisognerà attendere l arrivo del prodotto.')"
            End If
            Dim scheda As Label = CType(e.Row.FindControl("Label6"), Label)
            scheda.Text = Left(scheda.Text, 40) & "..."


            Dim prezzo As Label = CType(e.Row.FindControl("label3"), Label)
            Dim codice As Label = CType(e.Row.FindControl("Label1"), Label)

            If Session("livello") <> "1" And Session("livello") <> "" Then

                Dim sql As String = ""

                Select Case Session("livello")
                    Case "2"
                        sql = "SELECT sconto2 FROM articoli WHERE codice = '" & codice.Text & "'"
                    Case "3"
                        sql = "SELECT sconto3 FROM articoli WHERE codice = '" & codice.Text & "'"
                    Case "4"
                        sql = "SELECT sconto4 FROM articoli WHERE codice = '" & codice.Text & "'"
                    Case "5"
                        sql = "SELECT sconto5 FROM articoli WHERE codice = '" & codice.Text & "'"
                    Case "6"
                        sql = "SELECT sconto6 FROM articoli WHERE codice = '" & codice.Text & "'"
                    Case "7"
                        sql = "SELECT sconto7 FROM articoli WHERE codice = '" & codice.Text & "'"
                    Case Else
                        'nulla
                End Select

                Dim conn As New SqlClient.SqlConnection
                Dim cmd As New SqlClient.SqlCommand
                conn.ConnectionString = ConfigurationManager.ConnectionStrings(1).ConnectionString
                conn.Open()
                cmd.CommandType = CommandType.Text
                cmd.CommandText = sql
                cmd.Connection = conn
                Dim sconto As Integer = cmd.ExecuteScalar
                conn.Close()
                prezzo.Text = CDbl(prezzo.Text) - ((CDbl(prezzo.Text) * CInt(sconto)) / 100)
            End If
        End If
    End Sub
per il primo errore i prodotti del vengono estratti metiante l'uso di un DataReader?

in questo caso c'è un metodo apposto IsDBNull

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
31 messaggi dal 26 febbraio 2007
Utilizzo in girdview per estrarre i dati dal database e visualizzarli...
questo GridView come lo "alimenti"?

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
31 messaggi dal 26 febbraio 2007
Marco scusami ma sono ancora un pò impedito con asp.net io ho semplicemente preso la gridview trascinata all'interno dell'itemtemplate, creato le sql e inserito i databind sulle label e sulle immaigini poi nel codebehind ho gestito il tutto guarda puoi scaricarti i due file interessati direttamente da qui

http://www.rsv-service.com/rocol.zip

Ti ringrazio infinitamente per l'aiuto...

p.s.
poi non riesco proprio a capire perchè per alcuni record funziona e per altri assolutamente no....
31 messaggi dal 26 febbraio 2007
nulla non riesco...ho fatto nottata ma niente....
non ti prometto nulla ma nel primo pomeriggio se mi libero ti posto un esempio

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx

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.