非常に単純なASP.NETMVC4ページがあります。CustomerModelの編集フォームをレンダリングしています。フォームは正しく表示されますが、[編集]をクリックしてポストバックすると、モデルがバインドされていません。代わりに、CustomerModelのすべてのプロパティがデフォルトのままになります。正しいコントローラーメソッドが呼び出されているので、それは問題ではないことに注意してください。
モデルのプロパティ(Id、Name、Description)に一致する名前のフォーム値を確認できますが、モデルに設定されていません。
アイデア?
モデルは次のとおりです。
public class CustomerModel
{
[Required]
public Guid Id;
[Required]
public string Name;
[Required]
public string Description;
}
そして、これが関連するコントローラーメソッドです:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(CustomerModel customerModel)
{
if (ModelState.IsValid)
{
//...Do stuff
return RedirectToAction("Index");
}
return View(customerModel);
}
最後に、値が入力されたフォームコレクションのスクリーンショットを次に示します。