2013-05-20 13 views
7

Natknąłem się na scenerio, które dostosowywało DataAnnotations w aplikacji sieciowej danych dynamicznych. To scenerio:Dynamiczna zmiana adnotacji danych w projekcie danych dynamicznych

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

Zamiast hardcoding name = "DispName" do wyświetlania DataAnnotation chcę sprowadzić jakąś wartość z bazy danych i dopasować int atrybutu Name. na przykład:

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

Czy istnieje sposób na wyświetlenie atrybutu Name of Display DataAnnotation z bazy danych zamiast na kodowanie na stałe jego wartości?

Również, w jaki sposób mogę zmienić ScaffoldColumn (True/false) na podstawie wartości tabeli?

Czy mogę to zrobić za pomocą szablonu T4?

Z góry dziękuję.

Odpowiedz

1

Ogólnie rzecz biorąc, nie, atrybuty są kompilowane i stają się częścią metadanych CIL. Aby zbadać to, jest to dobry wątek, który zawiera szczegółowe informacje na ten temat. Is it possible to modify the attribute of a property at runtime?

Osobiście uważam, że powinieneś patrzeć na inny sposób przekazania etykiety do przodu, dzięki czemu możesz być elastyczny. np. Model zawierający etykiety i wartości.

Powiązane problemy