私は、 '数量'という名前のHtml.TextBoxの列を追加して、デフォルトのインデックスビューにフォームを追加しました。 Submitを押すと、アクション「OrderForm」に送信されますが、デバッグ時には数量値とitemNameとinventory_noがnullになります。誰も助けることができますか?以下はASP.MVC - フォームを使用することにより、どのようにパラメータをコントローラに渡すのですか?
私のMVCからのサンプルコードです:
モデル:
[Table("inventory")]
public partial class inventory
{
[Key]
[Column(Order = 0)]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int inventory_no { get; set; }
public string name { get; set; }
}
ビュー:
@model IEnumerable<MYAPP.inventory>
@{
ViewBag.Title = "Index";
}
@using (Html.BeginForm("orderForm", "inventories", FormMethod.Post))
{
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<div id="details"></div>
<table class="table">
<tr>
<th>
Quantity
</th>
<th>
Name
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.TextBox("Quantity",0, new { style = "width:30px",
@class = "selectedItem"})
</td>
<td class="itemName"><b>
@Html.DisplayFor(modemItem => item.name)
</b>
</td>
<td>
<a href="#" class="remove" data-url="@Url.Action("Remove", new { id = item.inventory_no })">Remove</a>
@Html.ActionLink("Edit", "Edit", new { inventory_no = item.inventory_no.ToString(), client_no = item.client_no }) |
@Html.ActionLink("Delete", "Delete", new { inventory_no = item.inventory_no.ToString(), client_no = item.client_no })
</td>
</tr>
}
</table>
<input type="submit" value="Submit your order" />
}
はコントローラー:
public ViewResult orderForm (int quantity, string itemName, int? inventory_no)
{
return View();
}
1つのフィールドにはテキストボックスしかありませんか? – AliK
https://puu.sh/t9dNL/3fb3950293.png – TaylorM