telerik grid Ошибка времени выполнения Microsoft JScript: 'i.validator' равен нулю или не является ошибкой объекта при редактировании - PullRequest
1 голос
/ 09 февраля 2012

Я обновил расширения MVC до MVC Q3 2011 (версия 2011.3.1115.340).У меня есть сетка Telerik с использованием встроенного режима редактирования AJAX.Сетка отображается правильно, но когда я пытаюсь редактировать строку, выдается ошибка времени выполнения Microsoft JScript: «i.validator» является нулевым или не является объектом в файле 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 голосов
/ 02 ноября 2012

У меня была такая же проблема. Моя причина в том, что моя редактируемая сетка находится в модальном диалоговом окне, и я думаю, что Telerik не создает объект валидатора при рендеринге сетки в диалоге, а не на обычной странице.

У меня также была нередактируемая сетка на главной странице, которая вызывает диалог. Я добавил в основную сетку атрибут «Editable (edit = edit edit.Mode (GridEditMode.InLine))», чтобы сделать вид, что он редактируемый (но без рендеринга каких-либо кнопок). диалог будет использовать объект валидатора, созданный для главной сетки.

Надеюсь, это поможет.

...