ASP.NET MVC从视图到操作的返回模型方法



我一直在研究其他类似的问题,但我似乎找不到解决这个问题的方法。我的视图被传递到我在表中列出的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操作。

最新更新