我有一个视图,我允许用户将项添加到表中。该表使用简单的html表单和jquery构建,以添加新行。
我需要能够将从视图添加的行返回到控制器(理想情况下通过视图模型)。现在,我能想到的是使用jquery以分隔格式将数据添加到隐藏字段。
但是我担心添加的数据长度对于隐藏字段来说可能太多了,而且验证它会很复杂。
任何建议都将不胜感激!
由于
答案 0 :(得分:0)
可能使用ready组件会更有用吗?例如,Telerik或KendoUI可以开箱即用。
但是如果你想自己做,你可以将这些行放在javascript对象中并使用ajax请求提交。在控制器动作中,它可以在modelbinder的帮助下绑定到modelview。
答案 1 :(得分:0)
我想使用视图模型会更加困难,因为您必须知道您经常期望拥有的字段数,尽管您可能会使用列表但不确定是否可以使用jquery来实现它但是您可以
增加您创建的输入的名称
<input type='text' name='somename1' />
<input type='text' name='somename2' />
<input type='text' name='somename3' />
和你的后端
[HttpPost]
public ActionResult collect(FormCollection collection)
{
List<string> names = Request.Params
.Cast<string>()
.Where(p => p.StartsWith("somename"))
.ToList();
// then iterate thru your dynamically created controls
foreach(var item in names)
{
string text=collection[item].ToString();
}
}