ASP.NET 4.0 ha posto l'accento sulla generazione di un migliore markup da parte dei controlli. Un'area in cui questo effetto è particolarmente visibile è nel caso di CheckBoxList e RadioButtonList.
Come comportamento predefinito, questi due controlli organizzano il proprio rendering utilizzando una tabella HTML: quando si vuole avere un markup più pulito, quindi, diventa inutilizzabile e, spesso, è necessario ricorrere ad altre strade, molto più complesse, come quella di costruire un control adapter.
Con ASP.NET 4.0 è sufficiente impostare la proprietà RepeatLayout su UnorderedList. La proprietà agisce solo su CheckBoxList e RadioButtonList, facendo produrre un elenco di tag li, racchiusi dentro un tag ul.
<asp:RadioButtonList RepeatLayout="UnorderedList" CssClass="twoColumns"... />
Se la proprietà assume questo valore, diventa incompatibile la proprietà RepeatColumns, che non può essere utilizzata, scatenando un'eccezione. In questi casi, per suddivedere gli elementi su colonne è sufficiente utilizzare alcune direttive CSS:
ul.twoColumns { margin: 0px; padding: 0px; list-style: none; } .twoColumns li, li.twoColumns { float: left; width: 50%; margin: 0px; padding: 0px; }
L'effetto che otterremo applicando questo CSS sarà lo stesso della tabella, ma il markup prodotto sarà più rispettoso degli standard web e potrà essere più facilmente adattato in fase di rendering, grazie ai CSS.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Creare alias per tipi generici e tuple in C#
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Triggerare una pipeline su un altro repository di Azure DevOps
Configurare lo startup di applicazioni server e client con .NET Aspire
Referenziare un @layer più alto in CSS
Creare una libreria CSS universale: Immagini
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core
Gestire i dati con Azure Cosmos DB Data Explorer
Gestire la cancellazione di una richiesta in streaming da Blazor
Creare una libreria CSS universale: i bottoni
Generare un hash con SHA-3 in .NET
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database