asp.net-mvc – 发布具有多个部分视图的表单
发布时间:2020-12-15 18:49:07 所属栏目:asp.Net 来源:网络整理
导读:我正在尝试发布一个由两个强类型视图组成的表单。这个问题是相似的,但没有答案: MVC 3 Razor Form Post w/ Multiple Strongly Typed Partial Views Not Binding 当我提交表单时,提交给控制器的模型始终为空。我花了几个小时试图让这个工作。这似乎应该是
我正在尝试发布一个由两个强类型视图组成的表单。这个问题是相似的,但没有答案:
MVC 3 Razor Form Post w/ Multiple Strongly Typed Partial Views Not Binding 当我提交表单时,提交给控制器的模型始终为空。我花了几个小时试图让这个工作。这似乎应该是简单的。我在这里缺少什么?我不需要做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); } 部分观点本身是相当无关紧要的,因为他们所做的一切都是在模仿和展示他们的模型。 解决方法
部分不是去这里的方式。您正在寻找EditorTemplates,这些是为您想要的。这种情况下,您的属性将很好地绑定到您的模型(您将提交)。
您的主视图将具有此窗体(请注意,您只需使用EditorFor而不是Partial;在这种情况下,您可能需要将该viewData参数放在ViewBag中): @using (Html.BeginForm("TransactionReport",new {id="report_request"})) { ViewContext.FormContext.ValidationSummaryId = "valSumId"; @Html.ValidationSummary(false,"valSumId" } }); @Html.EditorFor(model => model.ReportOptions); @Html.EditorFor(model = Model.SearchCriteria }); } 现在你只需要拖动你的部分到文件夹?/ Shared / EditorTemplates /,并重命名它们以匹配模型名称,他们是它们的编辑器模板。 还要看看here对EditorTemplates的很好的介绍。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 在IIS 6上托管ASP.NET MVC时是否会丢失功能
- asp.net-mvc-3 – 强制ASP.NET MVC3处理程序忽略.cshtml和.
- asp.net – 建筑设计DAL层
- asp.net – 无法识别配置文件Web.config
- asp.net – 在.ashx处理程序中查看状态?
- asp.net-mvc – ASP包中的绝对URL
- asp.net-mvc – 为什么我的Html帮助者没有智能感?
- asp.net – System.Web.UI.ViewStateException,无效的views
- asp.net-mvc – 向MVC 3添加基于声明的授权
- asp.net-mvc – ASP.Net MVC 3:反向授权属性
推荐文章
站长推荐
- asp.net-mvc-3 – MVC 3(Razor) – 使用Button事
- asp.net – WebControl创建中的Render和RenderCo
- asp.net-mvc – 使用实体框架的没有存储库模式的
- asp.net – “与底层事务管理器的通信失败”错误
- asp.net-mvc-4 – 正确使用IItemTransform来纠正
- .net – 如何在ASP成员资格中使用LogOut
- asp.net-mvc – 组合ASP.NET MVC Web应用程序的最
- 如何在ASP.NET网站项目中使用最新的VB.NET语言级
- 什么是ASP.NET的最佳部署策略
- asp.net – Mono有什么不适合的东西?
热点阅读