【发布时间】:2017-11-14 08:54:33
【问题描述】:
我正在使用 Devexpress MVC 应用程序,我在共享布局中使用了一个 GridLookup 控件。我在这里需要一些控制器,它将在每个请求上调用一个方法。为此,我使用了基本控制器并使用了 ActionExecutingContext 方法,我在其中调用了菜单加载和 gridlookup 加载。我正在使用 viewdata 来设置值,在共享视图中我使用了 GridLookup 控件的部分视图,我将 viewdata 绑定到 GridLookup。 下面是用于加载gridlookup的菜单和过滤器的Base控制器。
protected override void OnActionExecuting(ActionExecutingContext context)
{
base.OnActionExecuting(context);
ProcessingMenus();
}
下面是我使用gridlookup控件部分视图的共享布局
@Html.Partial("_ReportFilter")
下面是本部分使用的GridLookup控件:
@{
var gridLookup = Html.DevExpress().GridLookup(settings =>
{
settings.Name = "LookupLobMultiple";
settings.KeyFieldName = "Description";
settings.GridViewProperties.CallbackRouteValues = new { Controller = "Manage", Action = "BindLOB" };
settings.Properties.SelectionMode = GridLookupSelectionMode.Multiple;
settings.Properties.TextFormatString = "{0}";
settings.Properties.MultiTextSeparator = ";";
settings.CommandColumn.Visible = true;
settings.CommandColumn.ShowSelectCheckbox = true;
settings.CommandColumn.SelectAllCheckboxMode = GridViewSelectAllCheckBoxMode.AllPages;
settings.GridViewProperties.SettingsPager.Visible = false;
settings.GridViewProperties.Settings.ShowGroupPanel = false;
settings.GridViewProperties.Settings.ShowFilterRow = false;
settings.Columns.Add("ID").Visible = false;
settings.Columns.Add("Description").Caption = "Line of Business";
settings.PreRender = (s, e) =>
{
MVCxGridLookup gl = (MVCxGridLookup)s;
gl.GridView.Selection.SelectRowByKey(ViewData["LOB"]);
};
});
}
@gridLookup.BindList(ViewData["LobModal"]).GetHtml()
在上面的 GridLookup 控件中,您可以看到正在使用 ProcessingMenus 方法加载的 viewdata 绑定数据。
这里的第一个问题是在 GridLookup 中,我也使用了控制器和操作方法,但是当我检查和取消选中任何值并显示 Loading... 时,这并没有调用。
第二个问题,如果我再次点击 url OnActionExecuting 方法没有调用,因为它菜单没有再次加载。
【问题讨论】:
-
有人可以回答这个问题吗?还在等别人的回复。如有任何疑问,请询问。
-
那你为什么不问问 DevExpress 支持?
-
嗨 Mikhail,我在 devexpress 论坛上问过同样的问题并得到了答案。
-
我建议您在这里重新发布官方答案,如果有帮助,请批准。
标签: asp.net-mvc devexpress-mvc