我有一个表单,我无法将值绑定到我的模型。后期行动中的模型为空。
我已将所有内容删除到最简单的示例中,但仍无法将其绑定。
模型
public class simplemodel
{
public string SomeVal;
}
视图
@model MyApp.Models.simplemodel
@using(Html.BeginForm("Index", "Test", FormMethod.Post))
{
@Html.TextBoxFor(m => m.SomeVal);
<input type="submit" value="submit" id="btnSubmit" />
}
控制器动作
[HttpPost]
public ActionResult Index(simplemodel model)
{
string ReceivedVal = model.SomeVal;
//do whatever...
}
这是直截了当的,但我的模型没有绑定。
ReceivedVal始终为空。我有很多其他地方,我绑定模型没有问题。我很困惑。我可能会错过什么?
如果我更改控制器操作以接收FormCollection,我会收到“SomeVal”。所以我知道它被正确发布,它不会绑定到模型。
答案 0 :(得分:1)
我几乎放弃了搜索...而且只是阅读了一些未被选择用于类似问题的答案,并且了解到我的模型必须具有属性,而不仅仅是公共字段。我一定很懒,没有加{get;组; }
我从未意识到这是必要的!
抱歉!