Я делаю небольшую форму, которая позволяет пользователю подтвердить, что он reallly хотите удалить этот пункт, но я не могу получить идентификатор на контроллере ...Простая модель привязки данных в форме 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),
...
Спасибо за вашу помощь!
В чем вопрос ?? –
@Ahmedilyas: Я не могу получить идентификатор на контроллере, r всегда null или Exception – clement
это потому, что у вас есть модель и объект внутри того, который затем имеет идентификатор. имя параметра именования/POSTing не является правильным, поэтому связующее устройство модели не может привязать свойство POST'd к параметру в методе действий. Я бы открыл скрипач и посмотрел, что этот параметр публикуется. или даже открыть панель инструментов разработчика и узнать имя DOM этого свойства, а затем использовать его в методе действий. –