模型在第二次被调用时失去它的值

本文关键字:失去 调用 第二次 模型 | 更新日期: 2023-09-27 18:12:17

我有一个Kendo grid调用这两个方法。

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....这到底是怎么发生的?我的模型失去价值了吗?

谁能解释一下为什么从第一次调用到第二次调用都忘记了它的值?

模型在第二次被调用时失去它的值

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

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