2013-05-20 15 views
7

Mi sono imbattuto in uno scenerio che per personalizzare DataAnnotations in Dynamic Data Web Application. Questo è lo scenerio:Modificare dinamicamente l'annotazione dei dati nel progetto di dati dinamici

[Display(Name="DispName")] 
public string DName{get;set;} 

Invece di hardcoding Name = "DispName" per la visualizzazione DataAnnotation, voglio andare a prendere qualche valore dal database e montare int l'attributo Name. come:

[Display(Name=SomeValueFromDB)]  
public string DName{get;set;} 

Esiste un modo per mostrare l'attributo Name del display DataAnnotation dal database invece di hardcoding suo valore?

Inoltre, come è possibile modificare ScaffoldColumn (True/false) in base ai valori della tabella?

Posso farlo utilizzando il modello T4?

Grazie in anticipo.

risposta

1

Generalmente parlando no, gli attributi sono compilati e diventano parte dei metadati CIL. Per indagare su questo è un buon thread SO che va in dettaglio su questo argomento. Is it possible to modify the attribute of a property at runtime?

Personalmente penso che dovresti guardare un altro modo per passare l'etichetta al front-end in modo da poter essere flessibile. ad es. un modello che contiene etichette e valori.

Problemi correlati