Разве свойство DataAnnotations.DisplayAttribute.Order не работает с ASP.NET MVC 2?
Я устанавливаю значения для свойства Order атрибута Display в метаданных модели.
[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; }
}
}
Я представляю свои модели в строго типизированных представлениях, используя методы DisplayForModel и EditorForModel.
<%= Html.DisplayForModel() %>
а также
<%= Html.EditorForModel() %>
Но ASP.NET MVC 2 отображает поля не по порядку! Что я могу не так?
2 ответа
.NET 4 DataAnnotations поставляется с новым атрибутом Display, который имеет несколько свойств, включая указание значения, которое используется для отображения в пользовательском интерфейсе, и ResourceType. К сожалению, этот атрибут является новым и не поддерживается в MVC 2 RTM.
Хорошей новостью является то, что она будет поддерживаться и в настоящее время доступна в выпуске MVC Futures.
Шаги, чтобы получить эту работу, показаны ниже...
из локализации в ASP.NET MVC 2 с использованием ModelMetadata Радж Каймал
Брэд Уилсон сказал в ноябре 2009 года:
В MVC 2 нет поддержки порядка, и она вряд ли будет существовать до MVC 3. Одна из основных причин заключается в том, что в DataAnnotations в.NET 4 добавлена поддержка упорядочения, но, поскольку мы полагаемся на 3.5, мы пока не можем этого сделать.
из комментария "ASP.NET MVC 2 Templates, часть 5: шаблоны главной страницы"