Attualmente sto provando a pubblicare un modulo composto da due viste fortemente tipizzate. Questa domanda è simile, ma non avere una risposta:Pubblica un modulo con più viste parziali
MVC 3 Razor Form Post w/ Multiple Strongly Typed Partial Views Not Binding
Quando ho presentare il modulo del modello presentato al controllore è sempre nullo. Ho passato un paio d'ore a cercare di farlo funzionare. Sembra che dovrebbe essere semplice. Mi sto perdendo qualcosa qui? Non ho bisogno di fare ajax solo bisogno di essere in grado di postare sul controller e visualizzare una nuova pagina.
Grazie
Ecco il mio codice della vista:
<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 });
}
Ecco il codice nel controller:
[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);
}
I punti di vista parziali stessi sono abbastanza irrilevante, poiché tutto quello che sono fare sta aspettando e mostrando i loro modelli.
Dov'è il tuo pulsante di invio? Deve essere all'interno del tag Form. Non sei sicuro di non averlo incluso o se è fuori dal tag –