Единственное поле, которое обновляет пользователь: QuantityDelivered, тогда пользователь нажимает кнопку «Принять», чтобы обновить номер, введенный в текстовое поле, и ShoeOrderItem через Ajax.Используйте ajax для вызова ActionResult со значением из текстового поля.
@for (int i = 0; i < Model.ShoeOrderItemList.Count(); i++)
{
<tr>
<td class="text-center">
@Html.HiddenFor(model => Model.ShoeOrderItemList[i].ShoeOrderItemId)
@Html.DisplayFor(model => Model.ShoeOrderItemList[i].ShoeOrderItemId)
</td>
<td class="text-center">
@Html.DisplayFor(model => Model.ShoeOrderItemList[i].LineItemTotal)
</td>
<td class="text-center">
@Html.DisplayFor(model => Model.ShoeOrderItemList[i].ShoeSize.Size)
</td>
<td class="text-center">
@Html.DisplayFor(model => Model.ShoeOrderItemList[i].Shoe.ManufacturingCost)
</td>
<td class="text-center">
@Html.DisplayFor(model => Model.ShoeOrderItemList[i].Quantity)
</td>
<td class="text-center">
@Html.DisplayFor(model => Model.ShoeOrderItemList[i].QuantityOutstanding)
</td>
<td>
@(Html.Bootstrap().TextBoxFor(m => m.QuantityDelivered)
.Placeholder("Quantity Delivered ")
.Prepend("#").Append(Html.Bootstrap()
.Button().Text("Accept").Id("AcceptItem")))
</td>
</tr>
}
Ajax
$("#AcceptItem").click(function() {
var quatntity = @Html.Raw(Json.Encode(Model.QuantityDelivered))
$.ajax({
url: "ShoeOrder/CreateShoeDelivery",
type: "GET",
data: {
shoeOrderItemId: shoeOrderItemId[i],
quantityDelivered: quatntity,
dataType: "html"
}
});
});
Я просто хотел бы назвать ActionResult со значением, введенным пользователем при нажатии на кнопку AcceptItem.
Благодарим за отзыв. Мне нужно передать 'shoeOrderItemId' из скрытого поля и' количество', введенное в текстовое поле пользователем '@ Html.DisplayFor (model => Model.ShoeOrderItemList [i] .Quantity)'. Будет ли лучшее решение использовать такую форму? http://stackoverflow.com/questions/22013660/pass-entity-from-view-to-controller/22014301#22014301 – stink