我有一个Kendo网格,可以调用这两种方法。
public ActionResult DepthDefinition_Read([DataSourceRequest] DataSourceRequest request, int wellId)
{
var list = _service.FindBy(x => x.WellId == wellId);
return Json(list.ToDataSourceResult(request));
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult DepthDefinition_Create([DataSourceRequest] DataSourceRequest request, DepthDefinition depthDefinition, int wellId)
{
if (depthDefinition != null && ModelState.IsValid)
{
depthDefinition = _service.Insert(depthDefinition);
}
return Json(new[] { depthDefinition }.ToDataSourceResult(request, ModelState));
}
现在,调用定义如下所示:
.Read(read => read.Action("DepthDefinition_Read", "DepthDefinition",
new RouteValueDictionary(new Dictionary<string, object>() { { "wellId", Model } })))
.Create(update => update.Action("DepthDefinition_Create", "DepthDefinition",
new RouteValueDictionary(new Dictionary<string, object>() { { "wellId", Model } })))
当我用网格加载我的视图时,我这样做:
public ActionResult Index(int wellId)
{
return PartialView("DepthDefinition", wellId);
}
Read方法得到wellId
,它的值为1.一切都很甜蜜和花花公子。
然后我继续创建一个新行,单击按钮,插入我的值,然后单击“保存”。现在发生的事情是,我尝试传入的wellId
已经神奇地改变了,现在已经为0了......那么世界上究竟发生了什么呢?我的模型是否会失去价值?
任何能够解释为什么它会从第一次到第二次呼叫忘记其价值的人?
答案 0 :(得分:0)
向Telerik发布了同样的问题。得到了一个很好的答案:
http://www.telerik.com/account/support-tickets/view-ticket.aspx?threadid=826587