Is it possible to use LabelFor for header row in Index view

后端 未结 2 933
谎友^
谎友^ 2021-01-05 18:21

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

2条回答
  •  礼貌的吻别
    2021-01-05 18:45

    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.

提交回复
热议问题