DataAnnotations.DisplayAttribute.Order 属性是否不适用于 ASP.NET MVC 2?

Zac*_*son 3 asp.net-mvc annotations metadata asp.net-mvc-futures asp.net-mvc-2

我在模型元数据中设置了Display属性的Order 属性值。

[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; }
    }
}
Run Code Online (Sandbox Code Playgroud)

我使用DisplayForModelEditorForModel方法在强类型视图中呈现我的模型。

<%= Html.DisplayForModel() %>
Run Code Online (Sandbox Code Playgroud)

<%= Html.EditorForModel() %>
Run Code Online (Sandbox Code Playgroud)

但是,ASP.NET MVC 2 显示字段的顺序是乱的!我可能有什么问题吗?

Raj*_*mal 5

.NET 4 DataAnnotations 附带了一个新的Display 属性,该属性具有多个属性,包括指定用于在 UI 中显示的值和 ResourceType。不幸的是,这个属性是新的,MVC 2 RTM 不支持

好消息是它将受到支持,并且目前在 MVC Futures版本中可用。

使其工作的步骤如下所示......

来自Raj Kaimal 的使用 ModelMetadata 进行 ASP.NET MVC 2 本地化