MVC EditorFor表格数据无法到达控制器

时间:2017-03-03 10:15:10

标签: asp.net-mvc asp.net-mvc-4 modelstate editorfor

我们有一个带有操作方法索引

的控制器SomeController
public ActionResult Index()
{
    return View(new SomeModel());
}

在视图中,编辑EditorFor:

@Html.EditorFor(x => x.Submodel)

Submodel包含Ajax.BeginForm中SomeProperty的文本字段:

@Html.TextBoxFor(x => x.SomeProperty)

渲染时,SomeProperty的值为' x'并且它改为' y。我可以在调试器中看到正确的值' y'确实已发布,但控制器收到旧值'。'。

模型发布到的控制器操作是

public ActionResult Update(Submodel model)

匹配编辑器模板收到的模型。

如果我将“索引”视图更改为RenderPartial而不是编辑器,则为正确的新值' y'发布:

@Html.RenderPartial("/PathToControllerViews/EditorTemplates/Submodel.cshtml", Model.Submodel)

我搜索了一下,我在类似场景中找到的唯一一件事是在返回局部视图之前清除ModelState的建议,但是有潜在的缺点并且它似乎没有解决根本原因。 / p>

这是一个如此简单的结构,为什么会发生这种情况呢?为什么它适用于RenderPartial而不适用于EditorFor?

0 个答案:

没有答案