- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当页面上发生单独的客户端操作时,我想按需刷新 TabControl 中的选项卡。我已将 TabControl 扩展(也尝试过 PageControl)放在 CallbackPanel 中,并且 EndCallBack 事件永远不会触发。如果 ShowLoadingPanel 设置为 true,您会看到调用挂起,因为加载面板永远不会消失。 OnBeginCallback 和实际的 Controller 回调操作都会被执行。我假设面板和选项卡之间发生了某种冲突的回调,但我不知道如何解决它。如果我用基本 html 或其他更简单的 DevExpress 控件替换 TabControl,一切都会正常工作。
TabControl 部分(CallbackTestPageControl.cshtml):
@Html.DevExpress().TabControl(settings => {
settings.Name = "testTabControl";
settings.Width = Unit.Percentage(100);
settings.Tabs.Add("tab 1");
settings.Tabs.Add("tab 2");
settings.Tabs.Add("tab 3");
}).GetHtml()
面板部分(CallbackTestPanel.cshtml):
@Html.DevExpress().CallbackPanel(settings =>
{
settings.Name = "cbpTabStrip";
settings.CallbackRouteValues = new { Controller = "Home", Action = "CallbackTestPanel" };
settings.ClientSideEvents.BeginCallback = "OnBeginCallback";
settings.ClientSideEvents.EndCallback = "OnEndCallback";
settings.SetContent(() => Html.RenderPartial("CallbackTestPageControl"));
}).GetHtml()
查看(CallbackTest.cshtml):
<script type="text/javascript">
var testId = null;
function ButtonClicked(s, e) {
alert('click');
testId = 1;
if (!cbpTabStrip.InCallback())
cbpTabStrip.PerformCallback();
}
function OnBeginCallback(s, e) {
alert('begin');
e.customArgs["Id"] = testId;
testId = null;
}
function OnEndCallback(s, e) {
alert('end');
if (testId != null)
cbpTabStrip.PerformCallback();
}
</script>
@Html.DevExpress().Button(settings => {
settings.Name = "CallbackButton";
settings.Text = "Callback";
settings.ClientSideEvents.Click = "ButtonClicked";
}).GetHtml()
@Html.Partial("CallbackTestPanel")
Controller (HomeController.cs):
public ActionResult CallbackTest()
{
return View();
}
public ActionResult CallbackTestPanel()
{
int id = !String.IsNullOrEmpty(Request.Params["Id"]) ? int.Parse(Request.Params["Id"]) : 0;
return PartialView("CallbackTestPanel");
}
附加信息:另外,我尝试根据网上的其他建议更新 web.config 中的 DevExpress 配置。具体来说 - 将压缩元素上的 enableResourceMerging 属性更新为 false 而不是 true。这似乎让回调间歇性地结束。无论如何,我真的不想禁用资源合并,所以我实际上很高兴这没有提供可靠的解决方案。所以,这就是我目前拥有的:
<devExpress>
<themes enableThemesAssembly="true" styleSheetTheme="" theme="Office2010Silver" />
<compression enableHtmlCompression="true"
enableCallbackCompression="true"
enableResourceCompression="true"
enableResourceMerging="true" />
<settings rightToLeft="false" />
<errors callbackErrorRedirectUrl="" />
</devExpress>
最佳答案
如果我在这件事上浪费了任何人的时间,我很抱歉。最后,问题是我所有的非 DevExpress 脚本都位于布局主体的底部。我需要将 jQuery 移至 DevExpress 脚本之前的头部。奇怪的是,在出现此问题之前,其他一切都运行良好。感谢任何尝试重现的人。
关于asp.net-mvc - 当内容包含 PageControl 或 TabControl 时,DevExpress CallbackPanel PerformCallback 挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18149325/
我们正在使用 DevExpress 的 ASP.NET 控件。 在我们的应用程序中,我们使用 ASPxCallbackPanel控制在不同的地方。回调由 "CallbackPanel.PerformC
我有一个 DevExpress 网格,每次更改组合框中的值时都需要刷新它。例如,我有一个设置网格页面大小的组合框。要求之一是组合框不会导致完整的回发。 组合框声明如下: 在选定索引更改时,它
当页面上发生单独的客户端操作时,我想按需刷新 TabControl 中的选项卡。我已将 TabControl 扩展(也尝试过 PageControl)放在 CallbackPanel 中,并且 End
我是一名优秀的程序员,十分优秀!