Ваш Javascript отправляет только текстовую область, которая находится в <form id="myForm">
, в действие контроллера, которое ожидает объект fulfillmentVM
. Измените ваши поля Html.Hidden
на Html.HiddenFor
. Это свяжет эти значения в записи.
Используйте TextAreaFor
вместо текстовой области для привязки модели и убедитесь, что у вашей модели представления есть соответствующее свойство.
@Html.HiddenFor(m => m._Requests[i].Request_ID)
@Html.HiddenFor(m => m._Requests[i].Status, new { id = "myEdit", value = "" })
@Html.TextAreaFor(m => m.RejectMessage, htmlAttributes: new { @class = "form-control" })
Удалите <form id="myForm">
теги, они не нужны.
Сохраните кнопку как кнопку отправки, и она отправит сообщение в контроллер Add_Fulfillment_Reject, передав все связанные значения для вашего fulfillmentVM
.
Куда поместить форму
Лично я бы поставил ее прямо перед текстовым полем, переместив туда и скрытые поля. Завершите это сразу после кнопки отправки.
@using (Html.BeginForm("Add_Fulfillment_Reject", "Feedback", FormMethod.Post))
{
@Html.HiddenFor(m => m._Requests[i].Request_ID)
@Html.HiddenFor(m => m._Requests[i].Status, new { id = "myEdit", value = "" })
@Html.TextAreaFor(m => m.RejectMessage, htmlAttributes: new { @class = "form-control" })
// rest of modal code
<input type="submit" class="btn btn-success" id="finalSave" />
} // end form