多输入的MVC3强类型模型

本文关键字:强类型 模型 MVC3 输入 | 更新日期: 2023-09-27 18:18:21

我如何在一个页面中有多个输入,所有输入都提供给我的模型列表,其中模型定义为

public class MatrixSet
{
    List<MatrixPoints> matrixPoints { get; set; }
}
public class MatrixPoints
{
    double x { get; set; }
    double y { get; set; }
}

我不确定在视图中使用什么,说,4个输入字段,所有输入矩阵点,然后当发布控制器将具有类型matrixset的模型,其中将包含在视图中输入的矩阵点列表。我知道如何做到这一点,而不通过模型,但我试图坚持最佳实践方法。我可以让每个输入字段是@Html.TextBoxFor(),然后它会填补MatrixSet中的MatrixPoints列表假设在我的视图顶部我使用@model Models.MatrixSet?

多输入的MVC3强类型模型

找到答案了:

@Html.TextBoxFor(model => model.matrixPoints[0].x)
@Html.TextBoxFor(model => model.matrixPoints[0].y)

在这方面,您可以迭代地和动态地向模型对象添加项,同时在发布表单时仍然保持整个模型,并保留来自已定义模型的验证。

你必须寻找绑定集合到视图,然后当你发布表单时,所有的集合在ActionResult中被收集。

这是帮助你的链接http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx

它适合我。

谢谢。