私のモデル:
public class Order
{
public int OrderId { get; set; }
public int Quantity { get; set; }
public double Width { get; set; }
public double Height { get; set; }
}
そのモデルの強く型付けされたビューには、次のTextBoxFor
ようなプロパティのフォームがあります。
<table>
<tr>
<td><a href="#" onclick="AddTextBox()">+</a></td>
<td>@Html.TextBoxFor(m => m.Quantity)</td>
<td>@Html.TextBoxFor(m => m.Width)</td>
<td>@Html.TextBoxFor(m => m.Height)</td>
</tr>
</table>
とのリンクは、AddTextBox()
3 つ以上のテキスト ボックスを含むような別のテーブルを動的に追加する jQuery 関数です。
私のコントローラー:
[HttpPost]
public ActionResult SaveOrder(Order order)
{
context.Order.Add(order);
context.SaveChanges();
return View();
}
デバッグすると、注文オブジェクトにフォームからのデータが入力されていることがわかりますが、最初の数量、重量、高さのテキストボックスの値のみが入力されています。これは予想される動作であり、すべての値を受け取っていることがわかります。以下の例と私のリストが正しく入力されました:
[HttpPost]
public ActionResult SaveOrder(List<int> Quantity, List<int> Width, List<int> Height)
{
return View();
}
ここでまた質問です。データの配列を保持し、データベースに保存するモデルをどのように作成すればよいでしょうか?
質問が明確だったことを願っています。あなたの答えに感謝します。