[英]How to do edit correctly in Asp.net MVC
我正在使用一個名為linenumber的變量來獲取與項目數相關的行數。 但是行號一直返回0。我正在從數據庫中提取項目列表,所以如果那是原因,我就不會這樣做。 我的問題是還有另一種方法可以完成編輯。
視圖
@Html.HiddenFor(model => model.item.lineNum)
</div>
<br /><br />
<h4>Issued Items</h4>
<hr />
<div class="form-group">
<table>
<tr>
<th class="col-md-4">Item Number</th>
<th class="col-md-4">Item Description</th>
<th class="col-md-4">Expense Account</th>
<th class="col-md-2">Quantity Requested</th>
<th class="col-md-2">Quantity Issued</th>
<th class="col-md-1">UOM</th>
<th class="col-md-1">Item Price</th>
</tr>
@{
foreach (var issueditem in ViewBag.IssuedItems)
{
<tr>
<td class="col-md-4">@issueditem.itemNumber</td>
<td class="col-md-4">@issueditem.description</td>
<td class="col-md-4">@issueditem.expense_account.getDescription</td>
<td class="col-md-2">@issueditem.quantity.ToString()</td>
<td class="col-md-2">@issueditem.quantityI.ToString()</td>
<td class="col-md-1">@issueditem.selecteduomtext </td>
<td class="col-md-1">@issueditem.price.ToString()</td>
<td>@Html.ActionLink("Edit", "Edit", new { id = issueditem.lineNum })</td>
</tr>
}
}
<tr></tr>
</table>
控制者
public ActionResult Edit(int id)
{
getIssue.item = getIssue.items[id - 1];//Returns the requested item for editing
return View(getIssue);
}
/// <summary>
/// Gets the changes submitted from the user and updates the Item in the List
[HttpPost]
public ActionResult Edit(Issue issue)
{
int indx = issue.item.lineNum - 1;
getIssue.items[indx] = issue.item;
//return View(getIssue);
return RedirectToAction("IssueItem", "Issue", new { id = indx });
}
只需使用issueItem.id,這將為您提供每條記錄的ID
采用
<td>@Html.ActionLink("Edit", "Edit", new { id = issueditem.id})</td>
我認為您可以將Ajax用於此任務。
function edit(id) {
$.ajax({
url: "Controller/Method",
type: "POST",
data: {"id": your id},
success: function(data) {
//redirect anywhere you want if success
}, error: function (data) {
//do what you want if error
}
});
}
<td><input type="button" onclick="edit(this)" /></td>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.