Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Quattro modi di indossarlo, stessa app del Plaud Note Pro e integrazione con il desktop. Il registratore IA da indossare di Plaud eccelle in mobilità, ma resta vincolato all'abbonamento ed è facile da perdere
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro
Xiaomi ha portato Redmi Watch 6 anche sul mercato italiano, puntando su un display AMOLED da 2,07 pollici con picco di luminosità a 2000 nit, frame in alluminio da 9,9mm e un'autonomia dichiarata di 12 giorni. Lo smartwatch gira su HyperOS 3 e integra GPS, Bluetooth 5.4 e oltre 150 sport mode. Il tutto a meno di 100 euro
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti
Con 22 tasti, il pulsante 5D, lo Shift Mode e il sensore PixArt 3395 da 26.000 DPI, il nuovo mouse wireless di Mad Catz si rivolge in modo preciso ai giocatori di MMO e RPG. Ma chi conosce già il R.A.T. 8+ ADV si accorgerà subito di quanto i due prodotti condividano, e di dove invece divergono
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-11-2004, 15:21   #1
Pingus
Senior Member
 
Iscritto dal: Mar 2003
Città: Livorno
Messaggi: 400
[asp.net - c#] Problemi PostBack e altri

Ciao a tutti, ho un domanda un po difficile eda spiegare (anche perche uso da pochissimo .NET)
e quindi mi scuserete se quello che scrivo non è molto chiaro (aggiungo anche il codice ne l caso potesse essere d'aituo).....
Abbiamo una pagina aspx.cs (VEDI CODICE SOTTOSTANTE) che al caricamento estrae i dati
da db e li inserisce in una tabella (fatta con tag asp) e visualizza i risultati a video.
Alla tabella viene aggiunto anche un CheckBox per ogni riga; questi checkbox fanno parte di un array
di CheckBox dichiarato come attributo della classe associata.
In questa pagina c'è un pulsante ELIMINA che serve a cancellare le righe selezionate con il checkbox.
Avrei 2 domande da fare :

1) Quando faccio un postBack la tabella TabellaRichieste perde tutti i suoi valori
(infatti son ocostretto ad eseguire la query di popolamente ad ogni postBack)..è un
comportamento corretto oppure la tabella essendo creata nella pagina aspx tramite tag asp
dovrebbe mantenere i valori?

2) A causa della 1) ad ogni caricamento della pagina noi chiamiamo il metodo di popolamento
che fa anche la new() del CheckBoxArray.... dopo l'esecuzione di questo metodo si passa
ad eseguire il metodo elimina, mi aspetterei che il checkboxArray non avesse piu i suoi elementi
checkati come prima della pressione di ELIMINA...invece entrando nel metodo ritrovo i check come
precedentemente impostati some se la new non avesse avuto effetto...
sapreste dire dove sbaglio, dov'è l'errore?


Codice:

namespace CarloProjectCD
{
	
	public class AnnullaRichiesta : System.Web.UI.Page
	{
		. . . . . . . . 
		protected string Query;
		protected System.Web.UI.WebControls.Table TabellaRichieste;
		protected System.Web.UI.WebControls.CheckBox[] CheckBoxArray;
		protected System.Data.DataSet Ds;
		. . . . . . . . 

		int ContArrayCheck = 0;
		
		private void EseguiQuery ()
		{
			int controllo=0;
			try
			{
				ContArrayCheck=0;
				Ds = new DataSet();
								
				---- Qui C'e' la QUERY SELEZIONE DA DB ----

				DataAdapter = new OdbcDataAdapter(Query, strConn);
				DataAdapter.Fill(Ds);
				if (Ds.Tables[0].Rows.Count==0)
				{
					Elimina.Enabled=false;
				}
				else
				{
					if (CheckBoxArray==null)
					{
						controllo=1;
						CheckBoxArray = new CheckBox[Ds.Tables[0].Rows.Count];
					}
										
					foreach (DataRow row in Ds.Tables[0].Rows)
					{
						if (row.ItemArray[0]!=System.DBNull.Value)
						{
					
							-- QUI C'è LA COSTRUZIONE DELLA TABELLA TabellaRichieste --
							
							if (controllo==1)
							{
								CheckBoxArray[ContArrayCheck] = new CheckBox();
							}
							else
							{
								CheckBoxArray[ContArrayCheck].Checked=false;
							}

							
							Colonna.Controls.Add(CheckBoxArray[ContArrayCheck]);
							ContArrayCheck=ContArrayCheck+1;
							
						}
					}
				}
			}
		
			catch (OdbcException)
			{
				Label1.Text = "OdbcException";
			}
	
			finally
			{
				DataAdapter.Dispose();
			}
		
		}
		
		private void Page_Load(object sender, System.EventArgs e)
		{						
			LabelIntestazione.Text="ANNULLO RICHIESTE";			
			EseguiQuery();						
		}
				
			
			// Put user code to initialize the page here
		

		#region Web Form Designer generated code
		override protected void OnInit(EventArgs e)
		{
		
			InitializeComponent();
			base.OnInit(e);
		}
		

		private void InitializeComponent()
		{    
			this.Chiudi.Attributes.Add("onClick", "javascript:parent.window.close();");
			this.Elimina.Click += new System.EventHandler(this.Elimina_Click);
			this.Load += new System.EventHandler(this.Page_Load);

		}
		#endregion

		private void Elimina_Click(object sender, System.EventArgs e)
		{
			try
			{			
				int Contatore=0;
					
			
				foreach (TableRow row1 in TabellaRichieste.Rows)
				{
					if (row1.Cells.Count==8)
					{			
						if (CheckBoxArray[Contatore].Checked)
						{
							--QUI C'è LA QUERY DI DELETE---
						}
						Contatore=Contatore+1;
					}			
				}
				TabellaRichieste.Rows.Clear();
				EseguiQuery();
			}
			

			catch (OdbcException)
			{
				Label1.Text = "OdbcException";
			}
			
			finally
			{
				Conn.Close();
			}
			
		}
	}
}
Pingus è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
Radeon RX 9070 GRE, AMD la porta in tutto il mondo | Recensione Gigabyte Gaming OC Radeon RX 9070 GRE, AMD la porta in tutto il mon...
Reolink OMVI 3i WiFi: videosorveglianza più intelligente e facile da usare Reolink OMVI 3i WiFi: videosorveglianza pi&ugrav...
L'IA sta prosciugando le riserve idriche...
Europa spaccata in due: Italia e Germani...
TOP 10 offerte Amazon del lunedì:...
State of Decay 3: trailer, data e la mos...
Iconico ed elegante: Samsung Galaxy S26 ...
Cybersecurity a misura di PMI: le soluzi...
Microsoft svela una speciale Xbox Series...
Perché l'IA agentica è la vera intellige...
Con il coupon torna a soli 34,19€ il car...
Resident Evil: Code Veronica torna in un...
AMD a un passo dal sorpasso? Il nuovo So...
Caricare l'auto elettrica o PHEV con la ...
UGREEN presenta i nuovi NASync GT con al...
Gli accessori auto da non perdere: aspir...
Questa bici elettrica è l'affare ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 11:10.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v