Ik ben bezig met een MVC 5 project waarbij ik de view scaffolding templates heb aangepast door middel van t4 text templates.
Ik zou graag custom attributes toevoegen aan mijn model properties die ik dan kan uitlezen in de t4 template en aan de hand daarvan kan bepalen wat voor code er in de view moet komen.
Bijvoorbeeld, mijn model is dit:
In de t4 template van de List view (de Index view dus) zit bijvoorbeeld dit stukje om de tabel headers te genereren:
Dit gooit dus eigenlijk voor elke relevante property dit stukje code in de view:
(waarbij <property naam> dus vervangen wordt)
In dit stukje zou ik graag willen weten of de property mijn CustomAttribute heeft en welke waarde die heeft, zodat ik kan beslissen wat ik er mee moet doen.
Heeft iemand enig idee hoe dit moet?
Ik zou graag custom attributes toevoegen aan mijn model properties die ik dan kan uitlezen in de t4 template en aan de hand daarvan kan bepalen wat voor code er in de view moet komen.
Bijvoorbeeld, mijn model is dit:
C#:
1
2
3
4
5
6
7
8
| public class Team { [Key] public int Id {get; set;} [CustomAttribute(Bold = true)] public string Name {get; set;} } |
In de t4 template van de List view (de Index view dus) zit bijvoorbeeld dit stukje om de tabel headers te genereren:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| <# IEnumerable<PropertyMetadata> properties = ModelMetadata.Properties; foreach (PropertyMetadata property in properties) { if (property.Scaffold && !property.IsPrimaryKey && !property.IsForeignKey) { #> <# // This is a temporary work around until core scaffolding provides support for independent associations. if (property.IsAssociation && GetRelatedModelMetadata(property) == null) { continue; } #> <th> @Html.DisplayNameFor(model => model.<#= GetValueExpression(property) #>) </th> <# } } #> |
Dit gooit dus eigenlijk voor elke relevante property dit stukje code in de view:
code:
1
2
3
| <th>
@Html.DisplayNameFor(model => model.<property naam>)
</th> |
(waarbij <property naam> dus vervangen wordt)
In dit stukje zou ik graag willen weten of de property mijn CustomAttribute heeft en welke waarde die heeft, zodat ik kan beslissen wat ik er mee moet doen.
Heeft iemand enig idee hoe dit moet?