В настоящее время я пытаюсь опубликовать форму, состоящую из двух строго типизированных представлений. Этот вопрос похож, но на него нет ответа:
Когда я отправляю форму, модель, представленная контроллеру, всегда имеет значение null. Я потратил пару часов, пытаясь заставить это работать. Кажется, это должно быть просто. Я что-то упустил здесь? Мне не нужно делать ajax, просто нужно иметь возможность отправлять сообщения в контроллер и отображать новую страницу.
Спасибо
Вот мой код представления:
@using (Html.BeginForm("TransactionReport", "Reports", FormMethod.Post, new {id="report_request"}))
{
ViewContext.FormContext.ValidationSummaryId = "valSumId";
@Html.ValidationSummary(false, "Please fix these error(s) and try again.", new Dictionary { { "id", "valSumId" } });
@Html.Partial("_ReportOptions", Model.ReportOptions);
@Html.Partial("_TransactionSearchFields", new ViewDataDictionary(viewData) { Model = Model.SearchCriteria });
}
Вот код в контроллере:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult TransactionReport(TransactionReportRequest reportRequest)
{
var reportInfo = new List();
if (ModelState.IsValid)
{
var reportData = _reportDataService.GetReportData(Search.MapToDomainSearchCriteria(reportRequest.SearchCriteria));
if (reportData!=null)
{
reportInfo = reportData.ToList();
}
return View(reportInfo);
}
return View(reportInfo);
}
Частичные представления сами по себе довольно неуместны, так как все, что они делают, — это ждут и отображают свои модели.
33
задан Community 23 May 2017 в 11:47
поделиться