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?