0

我有一个视图,允许用户将项目添加到表中。该表是使用简单的 html 表单和 jquery 构建的以添加新行。

我需要能够将从视图添加的行返回到控制器(最好是通过视图模型)。现在,我能想到的就是使用 jquery 将分隔格式的数据添加到隐藏字段中。

但是我担心添加的数据长度对于隐藏字段来说可能太多了,而且验证起来会很复杂。

任何建议,将不胜感激!

谢谢

4

2 回答 2

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();

   } 
 }
于 2012-12-02T07:28:38.010 回答
0

可能使用现成的组件会更有用吗?例如 Telerik 或 KendoUI 可以开箱即用。

但是如果你想自己做,你可以把这些行放在 javascript 对象中,然后用 ajax 请求提交。在控制器动作中,它可以在模型绑定器的帮助下绑定到模型视图。

于 2012-12-02T07:16:44.817 回答