aiuto raga...sn in crisi....
ho creato una pagina cn due dropdownlist che si filtrano facendo autopost back...xò all'interno della pagina ho una variabile che deve contenere una somma, ma questa variabile perde il suo valore ogni volta ke faccio l'autopostback come posso evitare qs?
vi posto anche la pagina chissà vi può essere d'aiuto a voi e soprattutto a me
codice:Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) If (User.Identity.Name <> "") Then temp = User.Identity.Name name = temp.Substring(0, temp.IndexOf(":")) role = temp.Substring(temp.IndexOf(":") + 1) End If str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("data/bijou.mdb") cn = New OleDbConnection(str) cn.Open() sql = "SELECT * FROM TipoPietanze" cmd = New OleDbCommand(sql, cn) Try reader = cmd.ExecuteReader() If Drop1.Items.Count = Nothing Then While reader.Read Drop1.Items.Add(reader.Item(0)) Drop1.Items.Item(0).Selected = False End While End If compare = Drop1.SelectedValue sql2 = "SELECT * FROM Pietanze WHERE tipo=@compare" cmd2 = New OleDbCommand(sql2, cn) cmd2.Parameters.Add("@compare", compare) reader2 = cmd2.ExecuteReader() If Drop2.Items.Count = Nothing Then While reader2.Read Drop2.Items.Add(reader2.Item(0)) End While 'rivedere da qui i = i + 1 ' totale = 0 If (User.Identity.IsAuthenticated) Then last = "SELECT MAX (Nordine) FROM Ordini" cmdlast = New OleDbCommand(last, cn) readlast = cmdlast.ExecuteReader While readlast.Read ord = "INSERT INTO Ordini (Nordine,Utente) VALUES (?,?)" cmdord = New OleDbCommand(ord, cn) cmdord.Parameters.Add("@Nordine", readlast.Item(0) + 1) cmdord.Parameters.Add("@Utente", name) readord = cmdord.ExecuteReader() End While End If 'a qui End If If Drop2.AutoPostBack = True Then If reader2.Read Then nome.InnerHtml = reader2.Item(0) descrizione.InnerHtml = reader2.Item(1) prezzo.InnerHtml = reader2.Item(2) & "€ " prezzop = reader2.Item(2) 'totale = totale + prezzop img.InnerHtml = "<img src=GetThumbnailImage.aspx?FileName=" + reader2.Item(5) + "&ScaleFactor=35 border=0>" End If End If Catch Ex As System.Data.OleDb.OleDbException Response.Write(Ex.Message & " " & Ex.StackTrace) cmd.Connection.Close() cmd2.Connection.Close() cmdlast.Connection.Close() End Try End Sub Sub cambia(ByVal sender As System.Object, ByVal e As System.EventArgs) compare2 = Drop1.SelectedValue sql3 = "SELECT nome FROM Pietanze WHERE tipo = @compare2" cmd3 = New OleDbCommand(sql3, cn) cmd3.Parameters.Add("@compare2", compare2) read = cmd3.ExecuteReader() Drop2.Items.Clear() While read.Read Drop2.Items.Add(read.Item(0)) Drop2.Items.Item(0).Selected = True End While cmd3.Connection.Close() End Sub Sub cambia2(ByVal sender As System.Object, ByVal e As System.EventArgs) compare3 = Drop2.SelectedValue sql4 = "SELECT * FROM Pietanze WHERE nome = @compare3" cmd4 = New OleDbCommand(sql4, cn) cmd4.Parameters.Add("@compare3", compare3) read2 = cmd4.ExecuteReader() While read2.Read nome.InnerHtml = read2.Item(0) descrizione.InnerHtml = read2.Item(1) prezzo.InnerHtml = read2.Item(2) & "€ " prezzop = read2.Item(2) img.InnerHtml = "<img src=GetThumbnailImage.aspx?FileName=" + read2.Item(5) + "&ScaleFactor=35 border=0>" End While cmd4.Connection.Close() End Sub Sub Ordina(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim aggriga As String Dim cmdriga As OleDbCommand Dim readriga As OleDbDataReader If (Not User.Identity.IsAuthenticated) Then Response.Redirect("errore2.aspx") Else aggriga = "INSERT INTO RigaOrdine (nRiga, pietanza,nOrdine) VALUES (?,?,?)" cmdriga = New OleDbCommand(aggriga, cn) cmdriga.Parameters.Add("@nRiga", i + 1) cmdriga.Parameters.Add("@Pietanza", Drop2.SelectedValue) last = "SELECT MAX (Nordine) FROM Ordini" cmdlast = New OleDbCommand(last, cn) readlast = cmdlast.ExecuteReader While readlast.Read cmdriga.Parameters.Add("@nOrdine", readlast.Item(0)) End While readriga = cmdriga.ExecuteReader scontrino1.InnerHtml += " " & Drop2.SelectedValue & "</p>" scontrino2.InnerHtml += " € " & prezzop & "</p>" totale += prezzop i = i + 1 importo.InnerHtml = "<tr><td align=center class=testo>TOTALE</td><td align=center> € " & totale & "</td></tr>" End If End Sub Sub Conferma(ByVal sender As System.Object, ByVal e As System.EventArgs) If (Not User.Identity.IsAuthenticated) Then Response.Redirect("errore2.aspx") Else Dim msgMail As MailMessage = New MailMessage() msgMail.To = "localhost" msgMail.Cc = name msgMail.From = name msgMail.Subject = "Bijoubari - Posta dal sito" msgMail.BodyFormat = MailFormat.Html Dim strBody As String strBody = "<html><body>Nome Utente:" & name & " <table><tr><td>Pietanza:" & scontrino1.InnerHtml & "</td><td>Importo:" & scontrino2.InnerHtml & "</td></tr><tr><td colspan=2>Totale:€" & totale & "</td></tr></body></html>" msgMail.Body = strBody SmtpMail.Send(msgMail) Response.Redirect("mail.html") End If End Sub
codice:<body bgcolor="#FFFFFF" leftmargin="0" background="immagini/ppw2_12.gif" topmargin="0" marginwidth="0" marginheight="0" onload="preloadImages();"> <form runat=server> <table border="0" cellspacing="0" cellpadding="0" id="TABLE1" align=center language="javascript" onclick="return TABLE1_onclick()"> <tr align=center> <td class=testo runat=server align=right style="height: 22px">Scegli il tipo di Pietanza: </td> <td colspan="3" align=left><asp:DropDownList ID="Drop1" runat="server" AutoPostBack=true DataTextField="nome" DataValueField="nome" OnSelectedIndexChanged="cambia"></asp:DropDownList></td> </tr> <tr align=center> <td id="Td1" class=testo runat=server align=right style="height: 22px">Scegli la Pietanza: </td> <td colspan="3" align=left style="height: 22px"><asp:DropDownList ID="Drop2" runat="server" AutoPostBack=true DataTextField="nome" DataValueField="nome" OnSelectedIndexChanged ="cambia2"></asp:DropDownList></td> </tr> <tr> <td valign="middle" class="testo" style="height: 26px"><div align="left">PIETANZA</div></td> <td valign="middle" class="testo" style="height: 26px; width: 57px;"><div align="center">PREZZO</div></td> <td width="60" valign="middle" class="testo" style="height: 26px"><div align="center">FOTO</div></td> <td valign="middle" class="testo" style="height: 26px; width: 100px;"><div align="center">AGGIUNGI AL VASSOIO </div></td> </tr> <tr> <td height="25" valign="top" class="testo"><p id=nome class=testo runat=server></p><em id=descrizione class=testo runat=server>[/i]</td> <td height="25" valign="middle" class="testo" style="width: 57px"><div id=prezzo align="center" runat=server></div></td> <td height="25" valign="middle" class="testo"><div id=img runat=server align="center"></div></td> <td valign="middle" class="testo" style="width: 100px"><div align="center">[img]immagini/vass_red.gif[/img]</div></td> </tr> </table> <table border="0" cellspacing="0" cellpadding="0" id="TABLE2" align=center language="javascript" onclick="return TABLE1_onclick()" style="width: 350px"> <div id=msg runat=server> <tr> <td class=testo valign=middle align=center>PIETANZA </td> <td class=testo valign=middle align=center>IMPORTO </td> </tr> <tr> <td align=center> <div id=scontrino1 runat=server></div> </td> <td align=center><div id=scontrino2 runat=server></div></td> </tr> <tr> <td colspan=4> <div id=importo runat=server></div> </td> </tr></div> </table><p class=testo align=center>Conferma</p> <asp:label id="lblStatus" Runat="server" EnableViewState="False"></asp:label> </form> </body>
la variabile in questione è totale
grazie ciau

Rispondi quotando
