如何获得值在针对一个特定的索引在mvc列表
本文关键字:一个 索引 列表 mvc 何获得 | 更新日期: 2023-09-27 18:12:40
问题是我想在列表中执行CRUD,但它与实体框架不一样。金迪指导我如何执行Get id和执行编辑操作对它相同的细节和添加。
<视图/strong>
<table>
<tr>
<th>Product name</th>
<th>Quantity</th>
<th>Unit Price</th>
<th>Line Total</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.Product_Name</td>
<td>@item.SalesOrder_Quantity</td>
td>@item.Unit_Price</td>
<td>@item.SalesOrder_Total</td>
<td>
@Html.ActionLink("Edit", "Edit", new{ id = Model.ToList().IndexOf(item) }) |
@Html.ActionLink("Details", "Details", new { id = Model.ToList().IndexOf(item) }) |
@Html.ActionLink("Delete", "Delete", new { id = Model.ToList().IndexOf(item) })
</td>
</tr>
}
控制器
public class CreateSOController : Controller
{
Hisaab_ApplicationEntities db = new Hisaab_ApplicationEntities();
static List<SalesOrddrDetail_ViewMode> row_list = new List<SalesOrddrDetail_ViewMode>();
// GET: CreateSO
public ActionResult Index()
{
return View(row_list);
}
[HttpPost]
public ActionResult Insert(SalesOrddrDetail_ViewMode salesViewModel)
{
row_list.Add(salesViewModel);
return RedirectToAction("Index",salesViewModel);
}
Here i havethe issue
public ActionResult Edit(int id)
{
row.list.find(id) it show error here
return PartialView();
}
@Html.ActionLink("Edit", "Edit", new{ id = Model.ToList().IndexOf(item) }) |
@Html.ActionLink("Details", "Details", new { id = Model.ToList().IndexOf(item) }) |
@Html.ActionLink("Delete", "Delete", new { id = Model.ToList().IndexOf(item) })
这部分代码是不正确的。不需要在Model中获取项目的索引,因为在视图中已经有一个foreach
循环将每个项目分离出来。
你所要做的就是:
@Html.ActionLink("Edit", "Edit", new{ id = item.ID }) |
@Html.ActionLink("Details", "Details", new { id = item.ID }) |
@Html.ActionLink("Delete", "Delete", new { id = item.ID })
我希望这对你有帮助!
为什么使用@Html.ActionLink("Edit", "Edit", new { id = Model.ToList().IndexOf(item) })
?
像这样使用:
@Html.ActionLink("Edit", "Edit", new { id = @item.id })