Немного поэкспериментируем с веб-приложением .NET MVC и зададим вопросы о ViewModels и аннотациях данных.
Допустим, у меня есть ViewModel:
public class MyViewModel
{
[DisplayName("First Name")]
public string FirstInfoName { get; set; }
[DisplayName("First Information")]
public string FirstInfo { get; set; }
[DisplayName("Second Name")]
public string SecondInfoName { get; set; }
[DisplayName("Second Information")]
public string SecondInfo { get; set; }
[DisplayName("Third Name")]
public string ThirdInfoName { get; set; }
[DisplayName("Third Information")]
public string ThirdInfo { get; set; }
}
Когда я хочу создать представление Edit, моя ViewModel я использую:
@Html.EditorForModel()
Это прекрасно работает, MVC будет отображать текстовые поля для меня. Но допустим, что я хочу отображать вкладки в своем представлении, поэтому свойства ViewModel будут сгруппированы в зависимости от аннотаций данных.
Пример:
public class MyViewModel
{
[Tab(1)]
[DisplayName("First Name")]
public string FirstInfoName { get; set; }
[Tab(1)]
[DisplayName("First Information")]
public string FirstInfo { get; set; }
[Tab(2)]
[DisplayName("Second Name")]
public string SecondInfoName { get; set; }
[Tab(2)]
[DisplayName("Second Information")]
public string SecondInfo { get; set; }
[Tab(3)]
[DisplayName("Third Name")]
public string ThirdInfoName { get; set; }
[Tab(3)]
[DisplayName("Third Information")]
public string ThirdInfo { get; set; }
}
Можно ли сделать что-то подобное? Может быть, с использованием шаблонов?