0
用戶更新的唯一字段是QuantityDelivered,然後用戶單擊接受按鈕以更新通過Ajax輸入到文本框中的數字和ShoeOrderItem。使用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>
}
阿賈克斯
$("#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