Asp.Net MVC View с несколькими строго типизированными частичными представлениями с частичной передачей - PullRequest
0 голосов
/ 12 ноября 2010

Я пытаюсь создать представление в ASP.NET MVC, в котором различные части модели представления изменяются отдельно для получения намерения.

Например, изменение пользователей может быть выполнено в одном изСледующие способы одновременно:

  1. Изменить имя,
  2. Изменить электронную почту,
  3. Изменить пароль,
  4. Изменить статус
public class UserEditViewModel
{
    public string DepartmentDetails { get; set; }
    [HiddenInput(DisplayValue = false)]
    public Guid UserId { get; set; }

    public class UserNameEditModel
    {
        [Required(ErrorMessage = "Name Required")]
        [DisplayName("Name")]
        [StringLength(50, ErrorMessage = "Name must be less than or equal to 50 characters")]
        public string Name { get; set; }
    }

    public class UserPasswordEditViewModel
    {
        [Required(ErrorMessage = "Password cannot be Empty")]
        [DisplayName("Password")]
        public string Password { get; set; }

        [Required(ErrorMessage = "Confirm Password is Required")]
        [DisplayName("Confirm Password")]
        public string ConfirmPassword { get; set; }
    }

    public class UserStatusEditViewModel
    {
        [Required(ErrorMessage = "Status  Required")]
        [DisplayName("Status")]

        public bool  Status { get; set; }

        [Required(ErrorMessage = "Comment  Required")]
        [DisplayName("Comment")]
        public string Comment { get; set; }
    }
}

Я хочу создать строго типизированные частичные представления на основе externalclass + один из внутренних классов .Каждое частичное представление будет иметь собственную отправку формы, действие которой будет указывать на отдельное действие контроллера (изменить пароль, editname, editstatus ...)

Я пытался создать представление на основе externalclass + один извнутренние классы , которые я получил в мастере автоматического построения представлений, но он не смог разрешить DepartmentDetails, а также UserID внешнего класса.

  1. Возможно ли то, что я хочу сделать в ASP.NET MVC 2/3 Beta?
  2. Я буду использовать Ajax позже для улучшения, но я бы хотел сделать столько же постов без него.
  3. Если возможно иметь отдельные формы начастичное представление работает независимо, тогда я полагаю, что одним из решений может быть использование идентификатора пользователя и сведений о каждой из моделей EditviewModel и использование представления с использованием одной единственной модели представления.

Ответы [ 2 ]

1 голос
/ 12 ноября 2010

Я бы предположил, что у вас есть 1 модель для генерации вида и разные модели для действий (проход изменения и т. Д.).

На мой взгляд, было бы проще. Вы можете собрать все свойства в одном классе для отображения представления в разных формах, но разделить их в действиях после публикации.

0 голосов
/ 02 марта 2011

Я не уверен, что полностью понимаю вопрос ... однако, если все, что вы пытаетесь сделать, это отправлять одни и те же данные формы для различных действий, в зависимости от того, на какую кнопку нажимает пользователь ... Я предлагаю вам посмотреть здесь: Как вы обрабатываете несколько кнопок отправки в ASP.NET MVC Framework?

Основываясь на одном из ответов в теме, которую я связал выше, я создал атрибут, который позволяет MVC перенаправлять отправку формы на правильное действие.

Я не хочу публиковать свой код, так как он все еще находится на стадии проверки концепции ... но он работает и выглядит довольно чисто.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...