Сохранять данные ViewModel из GET в POST - PullRequest
1 голос
/ 12 ноября 2010

У меня есть 2 метода действия:

[HttpGet]
public ActionResult Customize()
{
  return View(new CustomizeViewModel { Thing1 = "test", Thing2 = "test" });
}

[HttpPost]
public ActionResult Customize(CustomizeViewModel customizeViewModel)
{
  _someService.DoSomething(customizeViewModel);

  ...
}

Моя ViewModel выглядит следующим образом:

public class CustomizeViewModel
{
  public string Thing1 { get; set; }
  public string Thing2 { get; set; }
  public string Thing3 { get; set; }
}

В моем View у меня есть текстовое поле, которое собирает значение для Thing3 и простопоказывает значения для Thing1 и Thing2.Моя проблема в том, что когда я POST и ввожу POST-версию метода Customize, я получаю только значение для Thing3 (того, которое я ввел в текстовое поле.) Есть ли способ получить значения, которые я заполнилПОЛУЧИТЬ версию метода Customize для переноса?Я пытался UpdateModel(), но это не сработало.

Ответы [ 2 ]

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

Добавить скрытые поля для Thing1 и Thing2.

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

Это одна из вещей, для которой были созданы скрытые поля ввода. Сохраните значения там, используя HiddenFor в представлении, и вы должны быть установлены. Единственные данные, которые будут представлены в версии HTTP POST, - это элементы ввода формы.

...