MVC3 - Как связать FormCollection с моделью при создании нового объекта базы данных? - PullRequest
0 голосов
/ 13 декабря 2011

при обновлении ViewModels через

[HttpPost]
public ActionResult Edit(int id, AddressChooserEnum addressChooser, string btnSubmit, FormCollection fc)
{
    var vm = new AddressViewModel(id, addressChooser, bool.FalseString);
    vm.Address = this.repository.GetAddressById(id, addressChooser);
    try
    {
        UpdateModel(vm);
        this.repository.Save();
        return RedirectToAction("Edit", "Customer", new { id = id });
    }
    catch (Exception e)
    {
        return View(vm);
    }
}

все отлично работает. Но я не могу заставить работать с

[HttpPost]
public ActionResult Create(int id, AddressChooserEnum addressChooser, string btnSubmit, FormCollection fc)
{
    var vm = new AddressViewModel(id, addressChooser, bool.TrueString);
    this.repository.AddAddress(); //What here? It's the simple Add method which needs an Address object.
    this.repository.Save();
    return View(vm);
}

Я пытаюсь создать AddressViewModel с "пустым" адресом. Но как я могу сохранить его с помощью FormCollection? Могу ли я как-то связать FormCollection с новым объектом Address? Тогда добавление должно работать. Заранее спасибо.

1 Ответ

2 голосов
/ 13 декабря 2011

Я бы не использовал коллекцию форм. Я бы просто попытался привязаться прямо к модели View. Не видя своего взгляда, трудно сказать, как должны выглядеть ваши действия. Проверьте эту статью о привязке модели. Это должно помочь! Модель Binding

...