我正在做一個小的形式,允許用戶確認他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