ASP.NET MVC - GridViewEditingMode.PopupEditForm не отображается - PullRequest
0 голосов
/ 02 февраля 2012

У меня странная проблема с расширениями Devexpress MVC. Я создал сетку и включил CommandColumns, чтобы иметь возможность добавлять, редактировать и удалять строки.

 @model IEnumerable
    @{
        var grid = Html.DevExpress().GridView(settings =>
                                                  {
                                                      settings.Name = "dxGridView";
                                                      settings.Width = Unit.Pixel(678);
                                                      settings.SettingsEditing.Mode = GridViewEditingMode.PopupEditForm;
                                                      settings.SettingsEditing.PopupEditFormModal = true;
                                                      settings.KeyFieldName = "ID";
                                                      settings.CallbackRouteValues = new {Controller = "Home", Action = "ContentPartial"};
                                                      settings.CommandColumn.Visible = true;
                                                      settings.CommandColumn.EditButton.Visible = true;
                                                      settings.CommandColumn.DeleteButton.Visible = true;
                                                      settings.CommandColumn.DeleteButton.Text = "Delete";
                                                      settings.CommandColumn.NewButton.Visible = true;
                                                      settings.CommandColumn.NewButton.Text = "New";
                                                      settings.SettingsEditing.AddNewRowRouteValues = new {Controller = "Home", Action = "AddPartial"};
                                                      settings.SettingsEditing.UpdateRowRouteValues = new {Controller = "Home", Action = "EditPartial"};
                                                      settings.SettingsEditing.DeleteRowRouteValues = new {Controller = "Home", Action = "DeletePartial"};

                                                      settings.SettingsBehavior.ConfirmDelete = true;
                                                             settings.SetEditFormTemplateContent(x =>
                                                {
                                                    Html.DevExpress().Label(val => val.Text = "Afasdfsadfsadfsdafasfasdf").Render();
                                                    Html.DevExpress().Button(
                                                        btnSettings =>
                                                        {
                                                            btnSettings.Name = "btnUpdate";
                                                            btnSettings.ControlStyle.CssClass = "button";
                                                            btnSettings.Text = "Update";
                                                            btnSettings.ClientSideEvents.Click = "function(s, e){ dxGridView.UpdateEdit(); }";
                                                        }
                                                        )
                                                        .Render();
                                                    Html.DevExpress().Button(
                                                        btnSettings =>
                                                        {
                                                            btnSettings.Name = "btnCancel";
                                                            btnSettings.ControlStyle.CssClass = "button";
                                                            btnSettings.Text = "Cancel";
                                                            btnSettings.ClientSideEvents.Click = "function(s, e){ javascript:pcModalMode.Show(); }";
                                                        }
                                                        )
                                                        .Render();
                                                });
    }

    @grid.Bind(Model).GetHtml(); 

Как видите, я установил простой контент для формы редактирования. Проблема в том, что после нажатия кнопки «Создать» или «Редактировать» всплывающее окно не отображается. settings.SettingsEditing.Mode = GridViewEditingMode.PopupEditForm; это единственный параметр, который не работает. Встроенный режим и другие режимы работают нормально, но мне нужно открыть всплывающее окно.

1 Ответ

1 голос
/ 02 февраля 2012

Эта проблема выглядит странно.Ваш код похож на «Представление в виде сетки - встроенное редактирование (шаблоны)» * демо.

На всякий случай удалите подстроку «javascript» из следующего раздела кода:

//btnSettings.ClientSideEvents.Click = "function(s, e){ javascript:pcModalMode.Show(); }";
btnSettings.ClientSideEvents.Click = "function(s, e){ pcModalMode.Show(); }";

Этот префикс больше не требуется.

...