asp.net-mvc – MVC Model Binding不适用于Kendo Grid
发布时间:2020-05-24 09:33:42 所属栏目:asp.Net 来源:互联网
导读:在MVC项目中,我有以下视图,其中我使用了Kendo Grid %: Html.Kendo().GridMilestone() .Name(MilestonesGrid) .Columns(columns = { columns.Bound(p =
|
在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-mvc – 使用Automapper将字符串映射到枚举
- 强制ASP.NET文本框以$符号显示货币
- 如何在ASP.NET WebForms中实现TDD
- asp.net-core-mvc – 在Entity Framework Core中使用[Compl
- asp.net – 使用Html.TextBox添加css类
- asp.net – 如何在MVC4 Web API中自定义JSON序列化名称?
- 您希望在初学者的ASP.NET安全手册中看到什么?
- 如何防止我的asp.net网站被屏幕刮掉?
- asp.net – 如何在iTextSharp中显示水平线
- ASP.NET MVC – MapRoute与routes.Add(和404s)
推荐文章
站长推荐
热点阅读
