Domanda

Sul mio viaggio nelle profondità di personalizzato ASP.NET lo sviluppo del controllo sono, ovviamente, di ottenere la mia testa intorno al ASP.NET PostBack modello e come influenza lo sviluppo del controllo.

Capisco che i controlli non hanno "vita" in ASP.NET e, pertanto, deve essere re-inizializzato su ogni caricamento di pagina.Ovviare a questo, continuare a mantenere gli oggetti di valori/parametri per il ViewState.

Molti articoli che ho letto, quindi, suggeriscono di non utilizzo di PostBack dal momento che questo può aggiungere un notevole sovraccarico di Pagina. Non sto cercando come disattivarlo, lo so.

Quello che sto cercando è:

Che alternative abbiamo a che utilizza il PostBack modello per inizializzare i controlli?

So che abbiamo potrebbe utilizza la QueryString, ma che sembra terribilmente disordinato, e, ovviamente, inaffidabile.

Idealmente mi potreste dare una panoramica dell'architettura/progettazione di un approccio diverso e i pro/contro di essa..

Molte grazie ^_^

È stato utile?

Soluzione

Bene, lo Stato della Sessione è una soluzione lato server, con il suo mucchio di spazzatura a che fare, se si vuole evitare di ViewState del tutto.Davvero però, utilizzando ViewState in un controllo personalizzato è tutto bene e buono - proprio essere pignoli su quello che hai archivio archivio delta dal dichiarato lo stato di controllo, non conservare nulla di si sta andando ad ottenere postback comunque (ad es.da un DB call), etc.

Altri suggerimenti

È necessario memorizzare i valori da qualche parte, così si sono limitati a la stringa di query e nascosto i campi del modulo.Se la si rapporta che HTTP, fondamentalmente si tratta di entrambi i parametri GET o POST.

Suppongo che si potrebbe utilizzare i cookies, ma che sarebbe davvero disordinato.

  1. Memorizzare i vostri oggetti di stato nel contesto di sessione:questo consente di spostare l'onere di mantenere di stato dal client al server, che può essere accettabile per piccole applicazioni intranet.Per i siti di capitale-ho Internet, questo non funziona;

  2. AJAX-abilitare il controllo:in questo caso, solo stato modifiche devono essere inviati indietro.Picking il giusto quadro di riferimento è la chiave qui;vedere http://www.asp.net/ajax/ajaxcontroltoolkit/samples/ per l'ufficiale MS approccio;molti altri sono possibili.

Se siete veramente alla ricerca di alternative al PostBack modello del tutto, quindi vorrei suggerire di ricerca di ASP.NET Framework MVC.Mi piacerebbe calcio WebForms al marciapiede e fare tutte le mie cose in MVC, ma, ahimè, il codice legacy è un tarbaby e riscrittura non è quasi mai la risposta, così ho il plug in poi...

Penso che ancora mis-comprendere comandi un po'.I controlli hanno solo il problema che hai descritto quando si aggiunge la pagina in modo dinamico.Se si dichiara controlli anticipati nel codice aspx poi costruire insieme con la pagina.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top