asp.net-mvc – MVC Model Binding不适用于Kendo Grid
发布时间:2020-12-16 04:37:36 所属栏目:asp.Net 来源:网络整理
导读:在MVC项目中,我有以下视图,其中我使用了Kendo Grid %: Html.Kendo().GridMilestone() .Name("MilestonesGrid") .Columns(columns = { columns.Bound(p = p.ContractMilestoneID).Hidden(); columns.Bound(p = p.MilestoneSN).Title("Κωδικ?? οροσ?
在MVC项目中,我有以下视图,其中我使用了Kendo Grid
<%: Html.Kendo().Grid<Milestone>() .Name("MilestonesGrid") .Columns(columns => { columns.Bound(p => p.ContractMilestoneID).Hidden(); columns.Bound(p => p.MilestoneSN).Title("Κωδικ?? οροσ?μου"); columns.Bound(p => p.EstimatedDate).Title("Εκτιμ?μενη ημερομην?α"); columns.Bound(p => p.RealDate).Title("Πραγματικ? ημερομην?α"); columns.Bound(p => p.MilestoneDescription).Title("Περιγραφ?"); columns.Bound(p => p.Payment).Title("Πληρωμ?"); columns.Bound(p => p.PaymentRate).Title("Ποσοστ? πληρωμ??"); columns.Bound(p => p.IsCompleted).Title("?χει ολοκληρωθε?"); columns.Command(command => { command.Edit() .Text("Επεξεργασ?α") .CancelText("Ακ?ρωση") .UpdateText("Αποθ?κευση"); command.Destroy() .Text("Διαγραφ?"); }); }) .ToolBar(toolbar => toolbar.Create().Text("Προσθ?κη ν?ου οροσ?μου")) .Editable(editable => editable.Mode(GridEditMode.InLine)) .Sortable() .Pageable() .Filterable() .Resizable(resize => resize.Columns(true)) .DataSource(dataSource => dataSource .Ajax() .ServerOperation(true) .Model(model => model.Id(o => o.ContractMilestoneID)) .Model(model => model.Field(o => o.MilestoneSN)) .Model(model => model.Field(o => o.EstimatedDate)) .Model(model => model.Field(o => o.RealDate)) .Model(model => model.Field(o => o.MilestoneDescription)) .Model(model => model.Field(o => o.Payment)) .Model(model => model.Field(o => o.PaymentRate)) .Model(model => model.Field(o => o.IsCompleted)) .Batch(true) .Create(create => create.Action("CreateMilestone","Milestones")) .Read(read => read.Action("DetailsJson","Milestones",new { id = ViewBag.ID })) .Update(update => update.Action("UpdateMilestone","Milestones")) .Destroy(delete => delete.Action("DeleteMilestone","Milestones"))) %> 我还有一个控制器,我想在Kendo Grid中保存一个新条目. [HttpPost] public ActionResult CreateMilestone([DataSourceRequest] DataSourceRequest request,Milestone milestone) { if (milestone != null && ModelState.IsValid) { using (TADCEntities database = new TADCEntities()) { tblSymvaseisOrosima item = new tblSymvaseisOrosima { fldEstimatedDate = milestone.EstimatedDate,fldIsCompleted = milestone.IsCompleted,fldMilestoneDescription = milestone.MilestoneDescription,fldMilestoneSN = milestone.MilestoneSN,fldPayment = milestone.Payment,fldPaymentRate = milestone.PaymentRate,fldRealDate = milestone.RealDate,fldStoixeioYpoergouID = milestone.ElementSubProjectID }; database.tblSymvaseisOrosima.Add(item); database.SaveChanges(); return Json(new[] { item }.ToDataSourceResult(request,ModelState)); } } return View(); // should also return json } 问题是,即使我在网格中创建新条目并按保存时输入数据,Milestone类型(控制器中的参数)也始终为null.知道怎么做才能在里程碑参数中传递输入的数据?先感谢您 解决方法
正如我在Fiddler中看到的那样,参数是使用模型前缀发布的,因此您必须像这样访问它们:
public ActionResult CreateMilestone([DataSourceRequest] DataSourceRequest request,[Bind(Prefix="models")] List<Milestone> milestons) { Milestone milestone = milestons[0]; . . . } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – aspnet_regiis不存在
- 配置多个.Net应用程序的最佳方法
- asp.net-web-api – ASP.NET Web API自定义帮助页面
- asp.net – UserPrincipal.FindByIdentity在IIS服务器上返回
- asp.net-mvc – S#arp架构与直接IOC NHibernate MVC
- asp.net – ASP .NET ProcessModel配置
- asp.net – CultureInfo.CurrentCulture从中读取文化
- asp.net-mvc – ASP.NET MVC和ViewState
- asp.net-mvc – Angular ng-include cshtml页面
- asp.net-mvc – VS 2015:无法加载文件或程序集’System.We
推荐文章
站长推荐
- asp.net-mvc – Asp.Net MVC中的管理区域
- 如何在asp.net中真正注销
- asp.net核心 – 如何在ASP.NET vNext MVC中实现会
- asp.net – 带有nginx或apache的Mono 2.11
- asp.net – 在我的UpdatePanel完成加载DOM元素后
- asp.net-mvc – Server 2008 R2上的MVC – 如何?
- ASP.NET Webforms ASP.NET Ajax与ASP.NET MVC和A
- asp.net-mvc-5 – 我们也可以在Windows /桌面应用
- asp.net-mvc-3 – 超时在ASP.Net MVC FormsAuthe
- 创建代码生成器可以很简单:如何通过T4模板生成代
热点阅读