Arcano mistero a cui non so dare una risposta (Update su pagina aspx)

venerdì 08 aprile 2011 - 10.35

trinity Profilo | Guru

Premetto essendo nuovo nel mondo web la risposta al mio problema potrebbe essere + facile del previsto, ora vi posto il codice e vi spiego...
IN pratica ho una pagina aspx creata in vbnet 2010 nella quale eseguo sul load della stessa una stored di selezione per prendere e far visualizzare i dati di un determinato record:

codice


Dim conString = ConfigurationManager.ConnectionStrings("liceoConnectionString") Dim strConnString As String = conString.ConnectionString Using scope As New TransactionScope() Using db As New SqlConnection(strConnString) db.Open() Using sqlcmd As New SqlCommand("Get_DetailNews", db) sqlcmd.CommandType = CommandType.StoredProcedure sqlcmd.Parameters.AddWithValue("@idnotizia", SqlDbType.Int).Value = 7 Using sqldr As SqlDataReader = sqlcmd.ExecuteReader While sqldr.Read Me.Label2.Text = sqldr.GetSqlInt32(0).Value Me.Label1.Text = sqldr.GetSqlDateTime(1).Value.ToShortDateString TextBox2.Text = sqldr.GetSqlString(2).Value End While End Using End Using End Using scope.Complete() End Using

e funziona perfettamente....

Poi all'interno di un button eseguo la stored di aggiornamento ossia questa:

Il codice sorgente non è stato renderizzato qui
perchè non c'è sufficiente spazio.
Clicca qui per visualizzarlo in una nuova finestra

allora i dati nei parametri sono giusti ma il campo del db "notizia" non veniva mai aggiornato...fatto e rifatto prove sono arrivato a fare l'ultimo test ossia a non eseguire la prima stored nel load della pagina e la stored di aggiornamento è andata alla perfezione. Ora la mia domanda è la seguente è possibile che ci siano conflitti oppure che al mio codice manca qualcosina?
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alexmed Profilo | Guru

Fai anche questa prova:

>IN pratica ho una pagina aspx creata in vbnet 2010 nella quale eseguo sul load della stessa una stored di selezione per prendere e far visualizzare i dati di un determinato record

Spostala nel Page_Init

Ciao

alexmed

trinity Profilo | Guru

Si funziona ma cosa fa l'evento Init?

Ps riguardando l'altro post mica ti hai trovato l'altra soluzione che dicevi di trovare un sistema per eseguire le 2 operazioni in una volta...Poi mi capita che se scelgo un record e clicco sul pulsante seleziona, anche i pulsanti degli altri record cambiano la loro Text, si può evitare?

ciao e grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com

alexmed Profilo | Guru

>Si funziona ma cosa fa l'evento Init?

Non sono bravo a dare spiegazioni ... ti rimando alla guida su MSDN (http://msdn.microsoft.com/it-it/library/system.web.ui.control.init(v=VS.80).aspx)

Un'altra prova che puoi fare è questa (http://msdn.microsoft.com/it-it/library/system.web.ui.page.ispostback(v=VS.90).aspx) questa volta nel LOAD

If Not IsPostBack Dim conString = ConfigurationManager.ConnectionStrings("liceoConnectionString") Dim strConnString As String = conString.ConnectionString Using scope As New TransactionScope() Using db As New SqlConnection(strConnString) db.Open() Using sqlcmd As New SqlCommand("Get_DetailNews", db) sqlcmd.CommandType = CommandType.StoredProcedure sqlcmd.Parameters.AddWithValue("@idnotizia", SqlDbType.Int).Value = 7 Using sqldr As SqlDataReader = sqlcmd.ExecuteReader While sqldr.Read Me.Label2.Text = sqldr.GetSqlInt32(0).Value Me.Label1.Text = sqldr.GetSqlDateTime(1).Value.ToShortDateString TextBox2.Text = sqldr.GetSqlString(2).Value End While End Using End Using End Using scope.Complete() End Using End If

>Ps riguardando l'altro post mica ti hai trovato l'altra soluzione
>che dicevi di trovare un sistema per eseguire le 2 operazioni
>in una volta...

No, non ancora ... ma devo trovarla perchè mi sà che servirà anche a me.

>Poi mi capita che se scelgo un record e clicco
>sul pulsante seleziona, anche i pulsanti degli altri record cambiano
>la loro Text, si può evitare?

Si basta eliminare dal ciclo myBtn.Text = "Select"


For i As Integer = 0 To GridView1.Rows.Count - 1
Dim myBtn As Button = CType(GridView1.Rows(i).FindControl("Button4"), Button)
myBtn.Attributes.Remove("class")
myBtn.Text = "Select" 'QUESTO CAMBIA IL TESTO
Next


>ciao e grazie
Ciao


alexmed

trinity Profilo | Guru

Funziona il discorso del load e del text sul pulsante, ma secondo te è possibile che dopo aver cliccato sul select che mi apre l'iframe il pulsante select torni ad avere il nome originario di partenza perchè se non se clicco su + record restano tutti con il nome settato select ma in realtà non sono ancora stati selezionati

cmq grazie mille
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
http://wnetsoftware.blogspot.com
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5