对于可能是一个愚蠢的问题而感到抱歉,但我整个下午一直在圈子里。我在MVC中有一个表单,它回发到控制器上的一个动作。表单所在的视图采用模型,并设置一些字段。在控制器上调用操作时,我需要将这些字段传递回模型。 e.g。
@using(Html.BeginForm())
{
@Html.ValueFor(m=>m.test);
...
//submit button
}
当前,test属性在到达控制器操作时为null。但是,使用EditorFor替换ValueFor会导致在发送回控制器操作的模型上成功填充测试属性。
答案 0 :(得分:4)
它是null,因为您只显示该值。如果要回发应该隐藏的值,请使用@Html.HiddenFor(m => m.test)
。如果您想要使用表单编辑器,请使用@Html.EditorFor(m => m.test)