Ciao a tutti, sono Michele. Spero possiate essermi d'aiuto.
Vado dritto al sodo: sto sviluppando un'applicazione web in vb.net.
In alcune pagine ho la necessità di memorizzare all'interno di un attributo della classe della pagina (per intenderci quella che si crea autonomamente nel file nomepagina.aspx.vb del tipo "partial class nomepagina ...") un valore intero.
E fin qui nessun problema. In una sub (che rappresenta quindi un metodo della classe) setto il valore dell'attributo della classe.
Quando poi vado a richiamare un'altra sub (associata ad esempio ad un pulsante della pagina) e a prendere il valore settato precedentemente, questo mi viene azzerato perchè da quanto ho capito facendo debug, viene richiamato il costruttore prdefinito che azzera gli attributi della classe.
Scusate la mia ignoranza, ma come posso fare per evitare ciò e mantenere i valori settati?
Spero di essere stato chiaro e che possiate aiutarmi quanto prima!
Grazie mille in anticipo.
Michele
PS:
Per chiarezza vi allego il codice di esempio. Il problema è su idProd che viene azzerato ad ogni chiamata di una sub.
Partial Class aProdotti2
Inherits System.Web.UI.Page
Private idProd As Integer
Private img1 As String
Private img2 As String
Private miniatura1 As String
Private miniatura2 As String
Protected Sub modifica(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles prodottiDataGrid.UpdateCommand
Dim temp As Label = e.Item.FindControl("idProdottoLabel")
idProd = CInt(temp.Text)
temp = e.Item.FindControl("img1Label")
img1 = temp.Text
temp = e.Item.FindControl("img2Label")
img2 = temp.Text
prodottiDataGrid.Visible = False
confermaPanel.Visible = True
End Sub
Protected Sub aggiornaButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles aggiornaButton.Click
Dim connString As String = ConfigurationManager.ConnectionStrings("stringaconn").ConnectionString
Dim query As String = "UPDATE prodotti(codProdotto, tipo, descrizione, qDisp, dimensioni, accessori, infoAggiuntive) VALUES ('" + codProdotto2TextBox.Text + "','" + tipo2Textbox.Text
query = query + "','" + descrizione2TextBox.Text + "','" + qDisp2TextBox.Text + "','" + dim2FreeTextBox.Text + "','" + accessori2FreeTextBox.Text
query = query + "','" + info2FreeTextBox.Text + "' WHERE idProdotto=" + idProd.ToString
Dim temp As New Utility
temp.eseguiQueryAccess(connString, query)
modificaPanel.Visible = False
statusPanel.Visible = True
statusLabel.Text = "Aggiornamento riuscito con successo! Premi il tasto Ok per tornare all'elenco dei prodotti"
End Sub