我目前正在尝试发布一个由两个强类型视图组成的表单。这个问题很相似,但没有答案:
MVC 3 Razor 表单发布,带多个强类型的部分视图不绑定
当我提交表单时,提交给控制器的模型始终为空。我花了几个小时试图让它工作。这似乎应该很简单。我在这里错过了什么吗?我不需要做 ajax 只需要能够发布到控制器并呈现一个新页面。
谢谢
这是我的视图代码:
<div>
@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<string, object> { { "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<TransactionReportItem>();
if (ModelState.IsValid)
{
var reportData = _reportDataService.GetReportData(Search.MapToDomainSearchCriteria(reportRequest.SearchCriteria));
if (reportData!=null)
{
reportInfo = reportData.ToList();
}
return View(reportInfo);
}
return View(reportInfo);
}
部分视图本身是无关紧要的,因为他们所做的只是投标和展示他们的模型。