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
Migliorare l'organizzazione delle risorse con Azure Policy
Utilizzare gRPC su App Service di Azure
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Combinare Container Queries e Media Queries
Utilizzare Azure Cosmos DB con i vettori
Change tracking e composition in Entity Framework
Paginare i risultati con QuickGrid in Blazor
Creare una libreria CSS universale - Rotazione degli elementi
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
Generare HTML a runtime a partire da un componente Razor in ASP.NET Core