У меня странная проблема с расширениями 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;
это единственный параметр, который не работает. Встроенный режим и другие режимы работают нормально, но мне нужно открыть всплывающее окно.