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
Persistere la ChatHistory di Semantic Kernel in ASP.NET Core Web API per GPT
Gestire il colore CSS con HWB
Migliorare l'organizzazione delle risorse con Azure Policy
Cambiare la chiave di partizionamento di Azure Cosmos DB
Triggerare una pipeline su un altro repository di Azure DevOps
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Routing statico e PreRendering in una Blazor Web App
Ordinare randomicamente una lista in C#
Eseguire script pre e post esecuzione di un workflow di GitHub
Gestire domini wildcard in Azure Container Apps
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Modificare i metadati nell'head dell'HTML di una Blazor Web App