asp.net mvc - строго типизированные помощники - должен ли объект привязки рендеринга быть таким же, как объект публикации?

я вижу, что asp.net mvc 2 сильно помог мне с типизацией, и изначально смотрит на то, как он работает, я думаю, что, возможно, я делаю что-то не так в asp.net mvc 1 с точки зрения привязки данных для визуализации представления и отправки обратно на контроллер.

У меня часто есть разные объекты для рендеринга вида и отправки обратно в контроллер. это неправильно ?? Это кажется естественным, поскольку при рендеринге представления у вас часто есть модель представления, в которой есть списки для раскрывающихся списков и т. Д., Но для публикации требуется только те свойства, которые необходимы для отправки назад.

например, на пути к рендерингу моя view-модель может выглядеть так

 public class PersonViewModel
 {
      public int Age;
      public string FIrst;
      public JobCategory[] JobCategories;
      public Sport[] Sports;
      public int NumberOfChildren;

 }

в этом случае,jobCategories а такжеВиды спорта будет использоваться для заполнения выпадающего списка.Количество детей собирается просто вставить HTML, и я не хочу, чтобы это редактировалось. Когда я хочу опубликовать сообщение, я хочу передать только тонкий объект только с опубликованными свойствами, поэтому у меня есть другой объект

  public class PersonUpdater
 {
      public int Age;
      public string FIrst;
      public int JobCategoryId;
 }

это единственные свойства, которые мне нужно передать обратно, чтобы мой контроллер выглядел так:

 public ActionResult Update(PersonUpdater personUpdater)
 {
      _repository.UpdateModel(personUpdater). 
 }

поэтому, учитывая вышесказанное, допущение, что строго типизированные вспомогательные методы (ниже) кажутся полезными для этого, но могут вызвать проблемы при повторной отправке на сервер, если вы ссылаетесь на другие свойства.

http://weblogs.asp.net/scottgu/archive/2010/01/10/asp-net-mvc-2-strongly-typed-html-helpers.aspx

есть идеи?

Ответы на вопрос(7)

Ваш ответ на вопрос