剃须刀集合中的按钮,控制器看不到按钮值
button in razor collection, the controller can't see the button value
我有一个剃刀般的观点:
@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 开发人员。
传入的参数名称必须与名称匹配,所以由于您的名称是删除:
<button type="submit" name="Delete" ..
删除必须是参数的名称,而不是值;在这种情况下,执行以下操作:
[HttpPost]
public ActionResult RemoveContact(String Delete)
变量 Delete 将在单击时具有 @ec.ContactGuid
的值。
我有一个剃刀般的观点:
@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 开发人员。
传入的参数名称必须与名称匹配,所以由于您的名称是删除:
<button type="submit" name="Delete" ..
删除必须是参数的名称,而不是值;在这种情况下,执行以下操作:
[HttpPost]
public ActionResult RemoveContact(String Delete)
变量 Delete 将在单击时具有 @ec.ContactGuid
的值。