Мне нужно передать уже существующую модель в метод из моего частичного, проблема заключается в том, что (он выглядит) этот синтаксисASP.NET MVC вызов метода
@using (Html.BeginForm("EmployeeOverallReportFilter", "Reports", FormMethod.Post)) {}
воссоздает свою модель, потому что мой контроллер получает модель с данными только от редактирования ящиков внутри @using {}
другими словами:
new Model
- Добавьте некоторые данные & doMagic и перейти к моему частичному
- В моей частичной добавить больше данных и передать его в контроллер
- Работы с данными
и у меня есть проблемы в шаге 3, потому что как некоторые (я думаю, что из-за @using (Html.BeginForm("EmployeeOverallReportFilter", "Reports", FormMethod.Post)) {}
) я теряю данные добавлены в шаге 2.
Возникает вопрос:
это правда? Может ли @using (Html.BeginForm()) {}
воссоздать мою модель или добавить код?
Есть еще один способ вызова метода и передачи данных там?
Я попытался это: <input type="submit" onclick="@Html.Action("EmployeeOverallReportFilter", "Reports", Model)" />
Но ошибка:
Exception Details: System.Web.HttpException: A public action method 'EmployeeOverallReportFilter' was not found on controller 'BTGHRM.Controllers.ReportsController'.
[HttpPost]
public ActionResult EmployeeOverallReportFilter(EmployeeOverallReport model)
{
//foreach(var item in model.ListOfPersonalData)
//{
// //NameFiler
// if((!item.FirstName.Contains(model.ModelFilters.NameFilter)) && model.ModelFilters.NameFilter!=String.Empty) model.ListOfPersonalData.Remove(item);
//}
return View("EmployeeOverAllReport", model);
}
Форма возвращает только значения своих успешных элементов управления. Если вы ранее сохранили некоторые связанные данные, добавьте его идентификатор в значение маршрута или скрытый ввод, чтобы опубликовать его и получить эти данные в методе POST. –
Ошибка возникает из-за того, что у вас должен быть метод в ваших отчетах Контроллер, называемый «EmployeeOverallReportFilter», и его нужно украсить '[Post]'. Чтобы передать существующие данные назад, вам нужна ваша модель просмотра, чтобы включить свойства данных, которые вы хотите сохранить, и в методе '[Get]' вам необходимо установить их. Затем, когда вы отправляете сообщение снова, они будут идти до тех пор, пока они являются частью формы. – bilpor
Вам нужно будет включить скрытые поля для всех свойств, которые вы хотите отправить назад, вместе с данными, введенными пользователем в форме. – sachin