0

経由でViewModelを更新するとき

[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 オブジェクトにバインドできますか? 次に、追加が機能するはずです。前もって感謝します。

4

1 に答える 1

2

フォーム コレクションは使用しません。View モデルに直接バインドしようとします。ビューを見ないと、アクションがどのように見えるべきかを伝えるのは困難です。モデル バインディングに関するこの記事を確認してください。それは役立つはずです!モデルバインディング

于 2011-12-13T19:30:36.730 に答える