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 に答える