1

ユーザーが最大 10 行の情報を入力できるフォームを表示したいと考えています。やり直す必要がある場合は、一度に 1 行ずつ追加する「行を追加」ボタンを使用します。このような場合、Model クラスはどのように見えるでしょうか? JavaScript を使用して新しい行を追加する場合、その新しい行をモデルにも結び付けるにはどうすればよいですか?

4

3 に答える 3

1

Phil Haack のこの記事では、コレクションにバインドする方法を示しています。正しい名前で新しい行を作成するには、javascript を使用する必要があります。

于 2012-07-21T22:13:45.890 に答える
0

それを正確に達成する方法を説明している次のブログ投稿をご覧ください。カスタムヘルパー(Html.BeginCollectionItem)を使用して、番号の代わりに非順次をコレクションインデックスとして使用できるため、新しいアイテムの追加/削除がはるかに簡単になります。

于 2012-07-22T06:39:16.263 に答える
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>

あなたがする必要があるのは、コントローラー内でこれを宣言することだけです

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

行配列内にすべての値があります

于 2012-07-21T22:18:27.463 に答える