我正在做一个小的形式,允许用户确认他reallly要删除的项目,但我不能让控制器上的ID ...简单的模型数据的HTML表单绑定
@using (Html.BeginForm("Delete", "Home", FormMethod.Post))
{
@Resources.Audit.Delete_Ask_Confirmation_Text
@Html.HiddenFor(model => model.audit.id)
<button type="submit" class="btn btn-warning">
<i class="glyphicon glyphicon-trash spaceAfterIcon"></i> @Resources.Audit.Delete_Ask_Confirmation_Button
</button>
}
=>在审计:
public int Id { get; set; }
的Html
<div>
<form action="/Audit/Home/Delete" method="post" novalidate="novalidate">Lore Ipsum
<input data-val="true" data-val-number="The field Id must be a number." data-val-required="The Id field is required." id="audit_Id" name="audit.Id" type="hidden" value="2">
<button type="submit" class="btn btn-warning">
<i class="glyphicon glyphicon-trash spaceAfterIcon"></i> Please confirm the delete
</button>
</form>
</div>
控制器:
[HttpPost]
public ActionResult Delete(int id)
{// always null}
id参数始终为空。
我试着改变方法签名:
Delete(int audit_Id),
Delete(int id),
Delet(string id),
Delete(string audit_id),
...
感谢您的帮助!
是什么问题? – 2014-12-05 14:05:18
@Ahmedilyas:我不能'在控制器上获得id,r总是为null或异常 – clement 2014-12-05 14:05:51
这是因为您有一个模型和一个内部具有该ID的对象。命名/ POST参数名称不正确,因此模型联编程序无法将POST的属性绑定到action方法中的参数。我会打开小提琴手,看看这个参数是作为什么发布的。甚至打开开发人员工具栏,找到该属性的DOM名称,然后在操作方法中使用它。 – 2014-12-05 14:06:30