模型在第二次调用时会丢失其值

时间:2014-07-09 07:13:31

标签: c# asp.net-mvc razor kendo-grid

我有一个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了......那么世界上究竟发生了什么呢?我的模型是否会失去价值?

任何能够解释为什么它会从第一次到第二次呼叫忘记其价值的人?

1 个答案:

答案 0 :(得分:0)

向Telerik发布了同样的问题。得到了一个很好的答案:

http://www.telerik.com/account/support-tickets/view-ticket.aspx?threadid=826587