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
[vs2008] Controlli pagine master
Ultimo Post 10 nov 2009 15.01 by Giovanni. 5 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
Autore Messaggi Non risolto

Posts:54

--
04 nov 2009 11.42  
Ciao a tutti. Ho una pagina master nella quale ho definito un controllo LoginView al cui interno ho nidificato due gridview visibili a seconda del tipo di accesso.
A questo punto nella pagina di contenuto ho bisogno di filtrare i dati del gridview in base all'utente che ha avuto accesso. C'è un modo per accedere alle proprietà e agli eventi del gridView nel codice della pagina di contenuto?

Posts:241

--
05 nov 2009 11.34  
C'è un modo per accedere alle proprietà e agli eventi del gridView nel codice della pagina di contenuto?


Alle proprietà ci puoi accedere mediante l'uso del metodo FindControl.

Dim ctrl As TextBox = Me.FindControl("nome_controllo_textbox")
If ctrl IsNot Nothing Then
...

Per gli eventi forse dovresti crearti dinamicamente degli handles dopo che hai identificato il controllo.

Andrea

Posts:54

--
06 nov 2009 14.13  
Grazie Andrea. Ho provato con il metodo FindControl che mi hai suggerito ma nulla di fatto, si vede che il controllo nidificato rimane in qualche modo nascosto. Ho risolto così in parte il problema nella pagina master:
If My.User.IsAuthenticated Then
Me.ms_gridview.Visible = True
Else
Me.ms_gvdview.Visible = False
End If

Però chiedo ancora una cosa se posso. Non sono ancora proprio dentro la logica dei PostBack e così succede che quando mi autentico vedo il mio bel gridview; a questo punto seleziono una riga ed ottengo, con un linqDataSource su un altro gridview che sta nella pagina di contenuto, i dati filtrati in base alla selezione del primo. Quando attivo però qualsiasi altro controllo nella pagina di contenuto che effettua un postback (come il cambio di pagina nel gridview) tutto si azzera. Sicuramente sbagliando, credo di aver già provato tutte le combinazioni di postBack possibili. A presto.

Giovanni Puglisi

Posts:241

--
06 nov 2009 17.43  
Grazie Andrea. Ho provato con il metodo FindControl che mi hai suggerito ma nulla di fatto, si vede che il controllo nidificato rimane in qualche modo nascosto


Il comando Me.FindControl si riferiva alla form (Me), prova a riferirti direttamente al controllo contenitore (LoginView):

Dim ctrl As TextBox = Me.LoginView1.FindControl("nome_controllo_textbox")
If ctrl IsNot Nothing Then
ctrl....

Andrea

Posts:811

--
08 nov 2009 07.26  

La programmazione ASP è un osso duro per chi è abituato alla programmazione WIn forms dove tutto ha uno stato ben definito che viene cambiato solo dalle azioni dell'utente o del programma.

I problemi che hai con i postback sono dovuti al fatto che ASP è stateless, quindi nulla è conservato automaticamente da un postback al successivo.

Quando effettui un postback i dati della form vengono ricaricati, quindi ciò che usi come filtro deve essere disponibile alla pagina web. Pertanto devi conservarlo e ripassarlo alla pagina.

Inoltre, per conservare dati fra i postback esiste quello che si chiama ViewState, che puoi attivare sui controlli per cui ti interessa conservare i dati fra un postback ed il successivo.

E' uno dei motivi per cui ASP se posso lo evito ti consiglio di guardarti un po'di documentazione su Ajax per evitare i postback se possibile e inoltre...

hai pensato a Silverlight?

saluti

Sabrina

Sabrina

Posts:54

--
10 nov 2009 15.01  
Non appena terminerò questa applicazione mi dedicherò allo studio di Silverlight. Nel frattempo ho aggirato i miei ostacoli nel seguente modo:

Ho creato una proprietà nella MasterPage che mi restituisce il gridview.
Una volta avuta disponibile nella mia pagina ho impostato una label che contiene il valore della colonna id della riga selezionata del gridViwe della MasterPage. Ho quindi impostato un control parameter nel linqDatasource che fa da origine dati al gridview presente nella pagina di contenuto. Così facendo ho ottenuto i dati filtrati come desideravo e posso eseguire tutti i postback che voglio sulla pagina di contenuto senza perdere il filtro principale sui dati. non so se sia un criterio ortodosso ma funziona, tenuto conto che la mia applicazione girerà stand-alone sul pc quindi non ho problemi di appesantimento della banda.

Grazie a tutti per i consigli che hanno stimolato molto la ricerca di soluzioni alternative e a scoprire e capire nuove funzioni.

Giovanni.
Non sei autorizzato ad inviare una risposta.

Active Forums 4.1
       
Articoli
Memorizzare immagini in SQL Server
un'immagine per la memorizzazione su un campo Image di SQL Server e viceversa
2007/09/04 | Autore: Sabrina Cosolo
ADO.NET - Mini guida per l'utente
Introduzione agli oggetti dati di ADO.NET
2007/07/26 | Autore: Alberto De Luca
L'Albero degli elementi
Come iniziare a capire com'è fatto WPF (parte 3)
2007/08/13 | Autore: Patrizia Cosolo
Fritto Misto - Classi di uso comune(parte 4)
Helper: Una classe per il log di eventi, con evento, event handler, enumerazione.
2007/10/24 | Autore: Sabrina Cosolo
Stampare Una DatagridView
Come utilizzare gli oggetti di stampa forniti dal framework per stampare il contenuto di una DatagridView con l'ausilio della GDI+
2008/12/07 | Autore: Andrea Zingoni
Programmer Paster Addin per Expression Web 1 e 2
Implementare un Addin per Expression Web 1 e 2 che usa la libreria ProgrammerPaster
2009/02/26 | Autore: Rudy Azzan
Fritto Misto - Classi di uso comune (parte 5)
Helper: Eccezioni personalizzate e Messaggi compositi
2007/10/27 | Autore: Sabrina Cosolo
Unit Testing del codice (parte 1)
Le basi per la costruzione di test per rendere più solido il nostro codice
2007/12/26 | Autore: Sabrina Cosolo
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.