Domanda

Per il pieno controllo della tua applicazione, preferisci una tabella GridView o HTML? E perché?

Ad esempio, devo creare hyperlink al volo per riga in una tabella GridView / HTML. Quale oggetto sarebbe più facile aggiungere quella funzione (o altre come questa)?

Nota: sto creando a livello di codice i miei set di dati

È stato utile?

Soluzione

Se non è necessario il supporto integrato per l'ordinamento o il paging e si desidera un maggiore controllo sull'output di rendering, prenderei in considerazione l'utilizzo di un controllo Repeater per l'output di una tabella. Se hai bisogno dell'ordinamento / paging integrato, GridView può essere molto utile.

Se vuoi il meglio di entrambi i mondi, aggiorna ad ASP.net 3.5 e usa ListView.

MODIFICA: Puoi chiarire cosa intendi con "collegamenti ipertestuali al volo" per riga?

Altri suggerimenti

Stai lontano da Gridview. Deve abbattere l'intero set di dati per eseguire il paging. È molto più veloce eseguire il rendering solo delle righe necessarie (ad esempio, le righe 30 - 40 di 6.0000) e utilizzare un controllo cercapersone separato. Anche quando si tratta di HTML / CSS, usare un ripetitore o una visualizzazione elenco sarà molto più facile da eseguire il debug, dato che avrai il controllo totale sul codice.

Un semplice HTML < table > generato da Response.Write è semplice e ha l'ulteriore vantaggio che se lavori su un sistema non Microsoft, non ti sentirai nudo senza i loro controlli web ASP.NET ridondanti che per lo più rendono più difficile generare HTML tutti lo sa già.

Penso che il Repeater o il più recente ListView sia la strada da percorrere se non hai bisogno di smistamento e / o paging. Repeater e ListView consentono di controllare l'HTML (GridView è una black box totale in questo senso e genera un HTML atroce) evitando il noioso codice lato server fornito con il controllo <asp:Table>: & Quot; OK, nuova riga. Nuova cella. Fai qualcosa con cellulare. Aggiungi cella alla riga. Aggiungi riga alla tabella. Ripetere quot &;.

D'altra parte, se hai bisogno di paginazione e ordinamento, GridView è probabilmente la soluzione migliore.

Puoi usare GridView o più semplici controlli simili a Repeater per creare il tuo html, anche se devi ordinare / pagina i tuoi dati. Con un ripetitore, ad esempio, è possibile creare un sistema personalizzato di impaginazione utilizzando un'origine dati PagedDataSource con la proprietà AllowPaging impostata su true.

L'unico problema è chiaramente che con un semplice ripetitore devi scrivere più codice per fare il lavoro che GridView svolge in modo nativo.

Ma il risultato è più veloce .

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