1

我想显示一个允许用户输入最多 10 行信息的表单。如果他们需要过去,我将使用“添加附加行”按钮一次添加一行。对于这样的事情,我的模型类会是什么样子?当我使用 javascript 添加新行时,如何将该新行也绑定到模型中?

4

3 回答 3

1

Phil Haack 的这篇文章向您展示了如何绑定到集合。您需要使用 javascript 创建具有正确名称的新行。

于 2012-07-21T22:13:45.890 回答
0

可能此行包含相关值,因此您可以为 html 中的所有这些输入赋予相同的名称,并声明您的操作接收一个值数组。

假设你有这个

<form method="post" action="/Controller/YourAction">
    <input type="text" name="row" value="1" />
    <input type="text" name="row" value="2" />
    <input type="text" name="row" value="3" />
    <input type="text" name="row" value="4" />
    <input type="text" name="row" value="5" />
    <input type="text" name="row" value="6" />
    <input type="submit" />
</form>

您需要做的就是在 Controller 中声明它

public ActionResult YourAction(int[] row)
{ 
//put your code here
}

你将拥有行数组中的所有值

于 2012-07-21T22:18:27.463 回答
0

您可以查看以下博客文章,其中解释了如何实现这一目标。它使用一个自定义帮助器 ( Html.BeginCollectionItem),它允许使用非顺序作为集合索引而不是数字,这使得添加/删除新项目更加容易。

于 2012-07-22T06:39:16.263 回答