Domanda

sto sostenendo un'applicazione che utilizza runat="server" tutto il luogo per mostrare / nascondere le righe della tabella.

Per esempio, in luoghi dove ci sono DropDownList dipendenti, la riga con il ddl bambino sarà nascosto fino ad un valore ci ha scelti nel ddl genitore.

È una cattiva pratica? C'è un modo migliore per fare questo?

È stato utile?

Soluzione

Io uso in qualsiasi momento runat="server" ne ho bisogno. Quindi penso che lo si può utilizzare anche. : -)

Altri suggerimenti

Credo che sia assolutamente terribile pratica. Prima di tutto non c'è bisogno di fare il viaggio al server per nascondere e mostrare i controlli, a meno che non avete bisogno di nuovi dati.

In secondo luogo, qualsiasi framework javascript decente vi permetterà di nascondere Mostrare i comandi in base all'ID del controllo, il nome della classe, o qualsiasi altra cosa selettore CSS. Inoltre utilizzando un post javascript / arrivare a un gestore generica vi darà i dati che avete bisogno senza il postback.

Mi piacerebbe suggerisco di usare JQuery, o qualche altra alternativa.

Dipende da quanto vi preoccupate circa la prestazione. Tutto ciò che è contrassegnato con runat = "server" passa attraverso una maggiore elaborazione di tag laterale appena client.

Personalmente, li ho usato prima. Soprattutto nel caso in cui una cella di tabella o riga della tabella si basa sui dati dal server. È possibile utilizzare Javascript o JQuery con un campo nascosto ma si devono ancora colpire il server per il campo nascosto, in modo da non comprare molto.

Non è male usare runat = "server" con comandi HTML standard. Spesso troverete l'uso di segnaposto per mostrare e nascondere i contenuti delle pagine, o in ASP.NET MVC si potrebbe vedere l'utilizzo di blocchi di codice in linea come ad esempio <% ...%> all'interno i punti di vista. In essa la propria e non in considerazione di altri aspetti progettuali, non è né buona né cattiva.

Questo è quello che faccio per nascondere la riga che contiene altri controlli server. Le altre opzioni sono di utilizzare un asp: pannello o altro contenitore, ma che aggiungerà più HTML senza alcun guadagno

.

Io non credo che sia necessariamente un male pratica. Ho fatto la stessa cosa un sacco di volte. Penso che sia la preferenza soprattutto personale.

Niente affatto. ASP.NET supporta fare qualsiasi tag HTML eseguito sul lato server. L'alternativa è quella di avvolgere il tag in un Panel e nascondere o mostrare questo. Se non stai cercando la funzionalità extra o vuole controllare l'uscita da soli, facendo un tag html corsa sul server non è un problema.

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