Desidero aggiungere un attributo [Required]
al modello di editor DateTime
in modo da poter aggiungere gli schemi di convalida appropriati o un attributo DataType.Date
in modo da sapere quando devo visualizzare solo le date. Ma non riesco a capire come ottenere i metadati che indicano quali attributi il Template Editor gli ha assegnato.In che modo i modelli di editore/i modelli di visualizzazione possono riconoscere gli attributi loro assegnati?
7
A
risposta
15
Gli attributi incorporati, ad esempio [Required]
, assegnano proprietà diverse ai metadati (vedere il post del blog che ho collegato alla fine della risposta per ulteriori informazioni). Ad esempio:
public class MyViewModel
{
[Required]
public string Foo { get; set; }
}
assegnerebbe:
@{
var isRequired = ViewData.ModelMetadata.IsRequired;
}
nel modello editore/display corrispondente.
E se si ha un attributo personalizzato:
public class MyCustomStuffAttribute : Attribute, IMetadataAware
{
public void OnMetadataCreated(ModelMetadata metadata)
{
metadata.AdditionalValues["customStuff"] = "some very custom stuff";
}
}
e un modello vista decorato con esso:
public class MyViewModel
{
[MyCustomStuff]
public string Foo { get; set; }
}
nel modello relativo editor di/display si potrebbe prendere questo:
@{
var myCustomStuff = ViewData.ModelMetadata.AdditionalValues["customStuff"];
}
Inoltre dovresti assolutamente leggere il series of blog posts di Brad Wilson su wh a ModelMetadata e modelli in ASP.NET MVC è e come usarlo.
Problemi correlati
- 1. In che modo Backbone.JS gestisce i modelli con attributi calcolati
- 2. Perché dovrei usare i modelli di visualizzazione?
- 3. Django - Visualizzazione di modelli diversi per gli amministratori
- 4. Modelli di progettazione che possono sostituire le istruzioni se
- 5. Consigli per i modelli di modelli
- 6. Visualizzazione di modelli 3D in WPF
- 7. direttive di test che utilizza i modelli
- 8. L'oggetto 'Modulo' non ha errori di modelli 'attributi' in django
- 9. I modelli PMML possono essere letti in R?
- 10. Modelli di visualizzazione mappe a KnockoutJS Validation
- 11. differenza tra modelli e modelli di vista
- 12. Perché i modelli non possono utilizzare i tipi locali?
- 13. Rails: colonne/attributi dinamici sui modelli?
- 14. I modelli figlio Meteor possono accedere agli helper dei modelli principali?
- 15. Modelli di sottoclassi in Rails
- 16. In che modo più app Django possono comunicare tra loro?
- 17. In che modo le persone utilizzano Editor/Modelli di visualizzazione e helper Html?
- 18. Qual è il modo migliore per collegare/sincronizzare i modelli di visualizzazione in Knockout?
- 19. Modelli in Backbone.js
- 20. Attività pratiche per gli studenti che apprendono modelli di progettazione
- 21. Tidy per i modelli Jinja2
- 22. Associazione di più viste a più modelli di visualizzazione
- 23. I panda possono riconoscere automaticamente le date?
- 24. Come avere due modelli di riferimento tra loro Django
- 25. Domanda sui modelli di dominio e sulla loro visibilità
- 26. Flask in grado di trovare i modelli
- 27. Qual è il modo giusto per disporre di attributi di istanza personalizzati nei modelli Django?
- 28. CLI di Ember che verifica complicate relazioni tra i modelli
- 29. Qual è il modo più semplice per utilizzare i modelli di visualizzazione dei baffi nelle guide?
- 30. Usando `issubclass()` con i modelli di Django