gpt4 book ai didi

asp.net-mvc-3 - ASP.NET MVC : model binding complex type

转载 作者:行者123 更新时间:2023-12-02 02:24:44 24 4
gpt4 key购买 nike

我在绑定(bind)到一个对象列表时遇到了问题。使用带有工具更新的 Mvc3.1。

当绑定(bind)到类 Form 时,HttpPost 函数接收到正确的模型。当绑定(bind)到 FormViewModel 时,HttpPost 函数接收到一个空模型。

绑定(bind)包含其他模型的模型有什么限制吗?

public class FormViewModel
{
public Form Form { get; set; }
}

public class Form
{
public List<Section> Sections { get; set; }
}

public class Section
{
public List<Question> Questions { get; set; }
}

public class Question
{
public int Id { get; set; }
public string Description { get; set; }
}

最佳答案

输入元素的名称属性是 Binder 用作施展魔法的上下文的东西。我的猜测是您的 View 包含如下内容:

@model Form
@Html.EditorFor(m => m.Sections)

你的 post 方法看起来像这样:

[HttpPost]
public ActionResult Function(FormViewModel formViewModel)
{
// ...
}

如果您将 View 更改为:

@model FormViewModel
@Html.EditorFor(m => m.Form.Sections)

你的 get 操作返回一个 FormViewModel 的实例,它可能会工作得很好。助手将使用 lambda 表达式的主体来创建输入元素的名称。在这种情况下,它将创建类似于 Form.Sections[0].Field 的内容。然后,模型联编程序能够获取 Form.Sections[] 并正确初始化 FormViewModel。

关于asp.net-mvc-3 - ASP.NET MVC : model binding complex type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6440693/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com