Esiste una sintassi migliore quando si creano elementi con attributi sillabati invece di usare:
<%= Html.TextBox ("name", value, new Dictionary<string, object> { {"data-foo", "bar"} }) %>
Guardando le specifiche HTML per gli standard proposti HTML 5 e WIA ARIA , sembra che i trattini negli attributi HTML siano stati pianificati per essere più comuni come una sorta di semplice spaziatura dei nomi.
Ad esempio, HTML 5 propone che gli attributi personalizzati abbiano il prefisso data-
e WIA ARIA utilizza il aria-
prefisso per tutti gli attributi WIA ARIA.
Quando si utilizzano helper HTML in ASP.NET MVC come <%= Html.TextBox("name", value, new { attribute = attributeValue }) %>
l'oggetto anonimo viene convertito in un dizionario.
Sfortunatamente in C # non c'è supporto per i trattini nei nomi, quindi l'unica alternativa è creare un dizionario. La sintassi per la quale è molto prolissa, qualcuno ha visto un'alternativa migliore o un modo semplice per modificare la funzionalità delle estensioni HTML di ASP.NET MVC senza dover riscrivere l'intera estensione?