MVC4では、コントローラーがモデルを自動的にバインドしてくれるとのことで、簡単なアプリを作ってみたのですが、まったくバインドしてくれません。
コントローラ
public ActionResult Zaku(ZakuModel model)
{
return View(model); //model.name = null
}
モデル
public class ZakuModel
{
public String name;
}
ビュー
@model ZakuModel
<!DOCTYPE html>
<html>
<head>
<title>View</title>
</head>
<body>
<div>
@using (Html.BeginForm())
{
@Html.EditorFor(Model => Model.name)
<input type="submit" value="submit" />
}
</div>
</body>
</html>
これでテキストボックスに値を入れ、ボタンを押してバインドしてほしいのですが、モデルのname はnull のままです。
ちなみに、コントローラを下記に書き換えると、入力値は正しく取得できています。
public ActionResult Zaku(String name)
{
ViewBag.Name = name; //入力値ゲット成功
return View();
}
なにが問題なのでしょうか。ご教示いただきたくお願い致します。