Ricerca 
it-ITen-US
Registrazione
Accedi
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Stampa     


DotNetWork Forums
Il concetto di postback
Ultimo Post 06 feb 2010 08.26 by Mimmo. 3 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
Autore Messaggi Non risolto

Posts:663

--
04 gen 2010 10.43  
Salve a tutti sto continuando anche se a rilento a studiare Asp.NET ma sono arrivato ad un punto fermo dove non riesco a capire acluni concetti (forse perchè ancorato, cementato e deformato nella programmazione window based)
Quando creo un programma in window based utlizzo più form per la suddivione delle varie funzioni del programma spesso uno stesso button può richiamare una form  in base ad una data informazione.
Ora sto cercando di capire come funziona tutto questo con Asp.NET(almenochè non stia sbagliando il tutto a livello concettuale).
Ho visto che con asp.NET si puo lavorare con le Multiview cosa che consente di mettere i controlli della nostra web application in più panel e poi mostrarle all'occorrenza.

Ma ammettiamo che io mi trovo nella pagina Default.aspx la quale continene una textbox e un button. Alla pressione del button analizzo il contenuto della textbox se è uguale a 1 apro la pagina Page1.aspx se è uguale a 2 apro la pagina Page2.aspx.

Per capire come fare ho fatto delle ricerche su google ed ho notato che tutto verte sul concetto di POSTBACK il quale non sono riuscito a capire.

Per esempio in un button c'è la proprietà IsPostBack che se impostata su una pagina della nostra web application (ad esempio sulla pagian Page1.aspx)alla presione del nostro button mi aprirà la pagina impostata(cioè Page1.aspx) ma se prima voglio valutare in contenuto della textbox e poi in base al contenuto aprire una pagina o un'altra, come faccio?
Per non parlare del fatto che il postback me lo ritrovo quasi dovunque.

In conclusione qualcuno potrebbe spiegarmi in breve per un emerito ignorante il concetto di postback ?



Posts:129

--
09 gen 2010 19.37  

Ma ammettiamo che io mi trovo nella pagina Default.aspx la quale continene una textbox e un button. Alla pressione del button analizzo il contenuto della textbox se è uguale a 1 apro la pagina Page1.aspx se è uguale a 2 apro la pagina Page2.aspx.

.
per risolvere questo problema, devi usare il codice..non so che linguaggio usi, suppongo vb o C ... cmq, nella tua pagina dove inserisci gli elementi (ad esempio, Default.aspx) , in modalità progettazione... fai doppio click sulla pagina e ti compare tutto il codice che sta dietro agli eventi di quella pagina...

il codice di esempio lo trovi nell'allegato qui sotto, poi naturalmente puoi personalizzarlo come preferisci..

Per esempio in un button c'è la proprietà IsPostBack che se impostata su una pagina della nostra web application (ad esempio sulla pagian Page1.aspx)alla presione del nostro button mi aprirà la pagina impostata(cioè Page1.aspx) ma se prima voglio valutare in contenuto della textbox e poi in base al contenuto aprire una pagina o un'altra, come faccio?
Per non parlare del fatto che il postback me lo ritrovo quasi dovunque.


Per quanto riguarda invece il concetto di PostBack,

Il PostBack si usa con gli elementi contenuti in un form quando si ha bisogno che, al click di un pulsante (oppure, al momento in cui si seleziona un elemnto da una drop down list ) , il contenuto della pagina a cui rimanda quel pulsante ( o quella drop down list) venga visualizzato esattamente nella pagina da cui è stato inviato il comando.

In linea di massima il postback dice alla pagina cosa fare quando si seleziona un elemento (da una drop down list) oq aundo si clicca su un pulsante, ma non è sempre fondamentale...ad esempio, osservando il tuo esempio di cui sopra, si può fare la stessa cosa senza usare la proprietà postback..

più facile a dirsi che a spiegarsi

Cmq se ti serve, scaricati il mio esempio e dacci un'occhiata per capire meglio quello che volevo dire...


Attachment: postbackesempio.zip


Posts:663

--
20 gen 2010 09.49  
Ho scaricato il tuo esempio e lo sto studiando forse alcune cose cominciano un attimo ad essere più chiare. La prima cosa che mi è chiaro è
Non devo programmare in ASP.NET come programmo con VB.NET in quanto strutturalmente sono due cose diverse.
E' vero che concettualemte WinForms e WebForms sono uguali ma strutturalmente sono diverse e devono essere trattate diversamente.
Quando programmo in ASP.NET non devo pensare a VB.NET e in VB.NET.

Grazie per il tuo aiuto



Posts:29

--
06 feb 2010 08.26  

In genere io faccio una pagina index.aspx e un controllo .ascx per ogni pagina del sito, poi carico i controlli dinamicamente all' interno di un update panel nell' index.aspx richiamandoli col metodo get del protocollo http, ossia attraverso un indirizzo del tipo http://www.miosito.it/index.aspx?page="variabile_pagina"

in questo caso, dopo aver creato i controlli, nell' index.apsx li switchi tutti, ad esempio:

[code]

public partial class index : Page

{

        protected void Page_Load(object sender, EventArgs e)

       {

                string page = Request.QueryString["page"];

                Control ctrl;
             

                switch (page)

               {

                      case "home":

                             this.Title = "Home page";

                             ctrl = LoadControl("home.ascx");

                              pannelloContenuto.Controls.Add(ctrl);

                              break;

                      case "paginadiregistrazione":

                              this.Title = "Pagina di registrazione";

                              ctrl = LoadControl("submit.ascx");

                              pannelloContenuto.Controls.Add(ctrl);

                              break;

                       // altri case  

                       default:

                               this.Title = "Home page";

                               ctrl = LoadControl("home.ascx");

                               pannelloContenuto.Controls.Add(ctrl);

                               break;

        }
    }
}

[/code]

pannelloContenuto è l' update panel agginto nella pagina .aspx

ora per quanto riguarda il postback, facciamo un esempio banale: facciamo che vuoi aggiungere un contatore di visite alla tua pagina che conti il caricamento della pagina, solo se la pagina precedente era diversa da quella che stiamo andando ad aprire, potresti per esempio modificare il un case del codice precedente in questa maniera

[code]

case "home":

        this.Title = "Home page";

        ctrl = LoadControl("home.ascx");

        pannelloContenuto.Controls.Add(ctrl);

        if (!IsPostBack)

       {

              // qui conto le visite

        }

        break;

[/code]

spero di non aver annoiato




Non sei autorizzato ad inviare una risposta.

Active Forums 4.1
       
Articoli
Unit testing del codice (parte 2)
Generiamo alcuni unit test per la libreria Helper base ADO.NET
2008/03/09 | Autore: Sabrina Cosolo
Bitmap, GDI+,Collezioni,Classi
Classi e oggetti per usare la GDI+ per disegnare delle forme.
2009/06/06 | Autore: Sabrina Cosolo
SQL Server 2000/2005 Manutenzione Database
Uso di DBCC ShowContig e di sys.dm_db_index_physical_stats
2007/08/05 | Autore: Sabrina Cosolo
Panoramica degli elementi base del WPF
Come iniziare a capire com'è fatto il WPF [Windows Presentation Foundation] (parte 2)
2007/07/30 | Autore: Patrizia Cosolo
Le nostre Librerie nella finestra .NET di Add reference
Come fare in modo di visualizzare le nostre librerie nella finestra .NET dell'Add Reference di Visual Studio
2008/07/27 | Autore: Sabrina Cosolo
Panoramica delle Proprietà Subordinate (Dependency Properties)
Come iniziare a capire WPF Parte 6
2007/11/22 | Autore: Patrizia Cosolo
Codedom Introduzione all'uso parte 1
Generare automaticamente codice C# o VB usando CodeDom ed il framework .NET stesso
2009/11/07 | Autore: Sabrina Cosolo
SQL Server Nozioni base (parte 1)
Come creare un database in SQL Server Usando Sql Management Studio
2008/03/09 | Autore: Sabrina Cosolo
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.