I am trying to leverage DataAnnotation values in ASP.NET MVC Index view. Interesting, code generator uses field names (eg., BlogPost) as opposed to Html.LabelFor(m =&g
You should, at the very least, be able to get what you want by using a partial view (ascx for WebForms) or a Display/Editor template. In your index page you can loop over your enumerable and pass the item into either a partial view or a template.
There may be a way to do it without having do as I've suggested (and I would be interested in seeing the answer), but what I've suggested should work fine.
EDIT:
After some clarification, here is my updated answer.
You can still get the label for a property while still respecting the DisplayAttribute
in data annotations. I tried this real quick and it seems to work fine.
In my view I have the following:
Html.LabelFor(m => m.BlogPosts.First().BlogPostTitle)
This worked even if there were no items in the enumeration itself. When I first tested this I got the property name, then I added decorated the property with the DisplayAttribute
and the value of the name property was displayed instead of the standard property name.