telerik网格Microsoft JScript运行时错误:'i.validator'为空或在编辑时不是对象错误

时间:2012-02-09 09:53:49

标签: telerik telerik-grid telerik-mvc

我已将MVC扩展升级到MVC Q3 2011(版本2011.3.1115.340)。我有一个使用ajax编辑内联模式的telerik网格。网格显示正确,但当我尝试编辑一行时,它给出了 Microsoft JScript运行时错误:'i.validator'为null或不是telerik.grid.editing.min.js文件中的对象。以下是我的代码:

 <div id="addEditSelectionTable">
  <% Html.Telerik().Grid(Model.InnerModel.SelectionsList)
            .Name("Grid")
            .ToolBar(commands => commands.Insert())
            .DataKeys(keys => keys.Add(o => o.SelectionID))
            .DataBinding(dataBinding =>
             {
                 dataBinding.Ajax()
                     .Select("_SelectAjaxEditing", "Grid")
                     .Insert("_InsertAjaxEditing", "Grid")
                     .Update("_SaveAjaxEditing", "Grid")
                     .Delete("_DeleteAjaxEditing", "Grid");
             })
            .Columns(columns =>
            {
                columns.Bound(o => o.SelectionID);
                columns.Bound(o => o.Enabled);
                columns.Bound(o => o.SelectionType);
                columns.Bound(o => o.Frequency);
                   columns.Command(commands =>
                     {
                        commands.Edit();
                        commands.Delete();
                      }).Width(200);
            })
            .Scrollable(s => s.Enabled(true))
            .Scrollable(scrolling => scrolling.Height(500))
            .Resizable(resize => resize.Columns(true))
            .Reorderable(reorder => reorder.Columns(true))
            .Footer(false)
            .Render();
%>
 </div>

我的控制器有GridAction:

[AcceptVerbs(HttpVerbs.Post)]
    [GridAction]
    public ActionResult _SaveAjaxEditing(int id)
    {
        var sModel = SamplesModel.GetAllSampleSelections();
        return View(new GridModel(sModel.SelectionsList));
    }

不知道为什么这可能会受到影响。网格工作正常,无需编辑。

1 个答案:

答案 0 :(得分:0)

我有同样的问题。我的原因是我的可编辑网格在模态对话框上,我认为Telerik在对话框而不是普通页面上渲染网格时不会创建验证器对象。

我还在主页面上有一个不可编辑的网格来触发对话框。我所做的是将“可编辑(编辑=&gt; editing.Mode(GridEditMode.InLine)”属性附加到主网格以假装它是可编辑的(但不渲染任何命令按钮)。这样,子网格上该对话框将使用为主网格创建的验证器对象。

希望它有所帮助。