Zack Peterson
Zack Peterson

Reputation: 57373

Does the DataAnnotations.DisplayAttribute.Order property not work with ASP.NET MVC 2?

I set values for the Order property of the Display attribute in my model metadata.

[MetadataType(typeof(OccasionMetadata))]
public partial class Occasion
{
    private class OccasionMetadata
    {
        [ScaffoldColumn(false)]
        public object Id { get; set; }

        [Required]
        [Display(Name = "Title", Order = 0)]
        public object Designation { get; set; }

        [Required]
        [DataType(DataType.MultilineText)]
        [Display(Order = 3)]
        public object Summary { get; set; }

        [Required]
        [DataType(DataType.DateTime)]
        [Display(Order = 1)]
        public object Start { get; set; }

        [Required]
        [DataType(DataType.DateTime)]
        [Display(Order = 2)]
        public object Finish { get; set; }
    }
}

I present my models in strongly-typed views using the DisplayForModel and EditorForModel methods.

<%= Html.DisplayForModel() %>

and

<%= Html.EditorForModel() %>

But, ASP.NET MVC 2 displays the fields out of order! What might I have wrong?

Upvotes: 3

Views: 5761

Answers (2)

Zack Peterson
Zack Peterson

Reputation: 57373

Brad Wilson said November 2009:

There is no support for order in MVC 2, and it's not likely to be there until MVC 3. One major reason is that DataAnnotations in .NET 4 have added ordering support, but since we rely on 3.5, we cannot do it yet.

from comment on "ASP.NET MVC 2 Templates, Part 5: Master Page Templates"

Upvotes: 0

Raj Kaimal
Raj Kaimal

Reputation: 8304

.NET 4 DataAnnotations comes with a new Display attribute that has several properties including specifying the value that is used for display in the UI and a ResourceType. Unfortunately, this attribute is new and is not supported in MVC 2 RTM.

The good news is it will be supported and is currently available in the MVC Futures release.

The steps to get this working are shown below...

from Localization in ASP.NET MVC 2 using ModelMetadata by Raj Kaimal

Upvotes: 5

Related Questions