我有一个这样的模型:
ClassA {
int property1;
ClassB elementB;
}
ClassB {
[Required]
int nameB;
}
在我用来创建新A的视图中,我传递了:
@model MyProject.ClassA
但我想为ClassB创建一个字段:
@Html.TextBoxFor(model => model.ClassB.nameB)
@Html.ValidationMessageFor(model => model.ClassB.nameB)
字段显示正确,但是必需控件不起作用,而在HttpPost操作的控制器中,字段始终为== null。 这是正常的行为吗? 有什么想法让它有效吗? THX!
答案 0 :(得分:0)
这些成员需要是公共财产,而不是现场。试试这个:
public class ClassA
{
public int property1 { get; set; }
public ClassB elementB { get; set; }
}
public class ClassB
{
[Required]
public int nameB { get; set; }
}
动作:
[HttpPost]
public ActionResult Index(ClassA a)
{
if (ModelState.IsValid)
{
}
}