3

我在模型元数据中为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; }
    }
}

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

<%= Html.DisplayForModel() %>

<%= Html.EditorForModel() %>

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

4

2 回答 2

5

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

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

完成这项工作的步骤如下所示......

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

于 2010-05-14T22:39:07.023 回答
0

布拉德威尔逊在 2009 年 11 月说:

MVC 2 中不支持 order,而且在 MVC 3 之前不太可能存在。一个主要原因是 .NET 4 中的 DataAnnotations 增加了 ordering 支持,但由于我们依赖 3.5,所以我们还不能这样做。

来自“ASP.NET MVC 2 模板,第 5 部分:母版页模板”的评论

于 2010-06-08T16:53:18.447 回答