The result of [DisplayName("foo")] and [Display(Name="foo")] for @Html.LabelFor(x => x.MyProperty) is same. both generate <label for="MyProperty">foo</label>. what is the advantage of DisplayName?
            Asked
            
        
        
            Active
            
        
            Viewed 2,204 times
        
    10
            
            
         
    
    
        Ghooti Farangi
        
- 19,926
- 15
- 46
- 61
2 Answers
18
            Display attribute should be preferred over DisplayName attribute. The former one comes form DataAnnotations namespace and exposes more properties than the later one, ie. ShortName, Prompt, GroupName, Order, Description, which are used by DataAnnotationsMetadataProvider.
Most importantly, DisplayName accepts only literals, while Display accepts resource type and key, which can be used to provide translations using separate resource files (resx). 
 
    
    
        Jakub Konecki
        
- 45,581
- 7
- 87
- 126
3
            
            
        Can't really say that there is some advantage of using one over the other. DisplayName exists in older versions of the framework while Display can be used only in ASP.NET MVC 3 as it was introduced in .NET 4.0.
 
    
    
        Darin Dimitrov
        
- 1,023,142
- 271
- 3,287
- 2,928