我有一个剃刀的观点:
@using (Html.BeginForm("RemoveContact", "MyContacts"))
{
<table>
@foreach (MyProject.Models.MyContacts.ExistingContact ec in Model.ExistingContacts)
{
<tr>
<td>@ec.FirstName</td>
<td>@ec.LastName</td>
<td>@ec.Relationship</td>
<td>@ec.Phone</td>
<td>@ec.Email</td>
<td>
<button type="submit" name="Delete" id="Delete" value="@ec.ContactGuid">Delete</button>
</td>
</tr>
}
</table>
}
基本上我有一个联系人列表,我想在每个联系人旁边放一个允许他们删除的按钮。在同一页面上是一个允许他们添加新联系人的表单(工作正常)。
但是在我的控制器中被调用,字符串参数显示为null 。我希望它是按钮的值属性(@ ec.ContactGuid)。
[HttpPost]
public ActionResult RemoveContact(String contactGuid)
{
return Redirect("/MyContacts/");
}
1)有办法解决这个问题吗?
2)是否有一些我完全失踪的更好的范例?我是一名新的MVC开发人员。
答案 0 :(得分:3)
传入的参数名称必须与名称匹配,因此您的名称为Delete:
<button type="submit" name="Delete" ..
删除必须是参数的名称,而不是值;在这种情况下,请执行以下操作:
[HttpPost]
public ActionResult RemoveContact(String Delete)
变量Delete在点击时将具有@ec.ContactGuid
的值。