我目前正在嘗試發佈由兩個強類型視圖組成的表單。這個問題是相似的,但它沒有一個答案:發表包含多個部分視圖的表格
MVC 3 Razor Form Post w/ Multiple Strongly Typed Partial Views Not Binding
當我提交表單提交給控制器模型總是空。我花了幾個小時試圖讓這個工作。這看起來應該很簡單。我在這裏錯過了什麼嗎?我不需要做阿賈克斯只需要能夠發佈到控制器並呈現新的頁面。
感謝
這裏是我的視圖代碼:
<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);
}
,因爲所有這些都是局部的觀點本身是相當無關這樣做是爲了展示他們的模型。
哪裏是你的提交按鈕?它需要在Form標籤內。不知道你是否沒有包含它或者它是否在標籤之外 –