我一直在研究其他类似的问题,但我似乎找不到解决这个问题的方法。我的视图被传递到我在表中列出的tAdminAlert对象列表中。我希望在表中的每一行旁边都有一个Delete按钮,该按钮重定向到我的控制器中的Delete(tAdminAlert obj(操作方法,并传入与他们单击的行相对应的对象。
我的控制器名为AdminAlerts,具有以下操作方法:
public ActionResult Delete(tAdminAlerts obj) {
// Want to call delete method on obj here
return View("Index");
}
我的视图看起来像
@model List<tAdminAlerts>
@{
ViewData["Title"] = "Alerts";
}
@{
ViewBag.Title = "Alerts";
}
<div style="width:60%;display:table">
<table>
<thead>
<tr>
<th>Full Name</th>
<th>Email</th>
<th>Dept. Number</th>
<th>Dept. Code</th>
</tr>
</thead>
<tbody>
@foreach (var obj in Model) {
<tr>
<td width="35%">
@obj.nameFull
</td>
<td width="25%">
@obj.emailAddress
</td>
<td width="20%">
@obj.departmentNumber
</td>
<td width="20%">
@obj.departmentCode
</td>
<td>
* Want delete button to go here and return @obj
to Delete action method of controller *
</td>
</tr>
}
</tbody>
</table>
</div>
如果有任何帮助,我将不胜感激。谢谢
这里不需要整个对象:
public ActionResult Delete(tAdminAlerts obj)
您只需要一个标识符用于删除的记录,然后您可以使用它来删除数据中的记录:
public ActionResult Delete(int id)
然后,您可以创建一个指向该操作的简单链接。不同版本的ASP.NET MVC可能略有不同,但通常您可以使用链接文本、操作名称、(可选(控制器名称和路由值创建操作链接。例如:
@Html.ActionLink("Delete", "Delete", new { id = obj.id })
(我假设视图中obj
上的标识符称为id
,请使用您想要使用的任何标识符。(
这只会创建一个简单的链接,供用户点击,将其带到Delete
操作。