asp.net-mvc – 当内容包含PageControl或TabControl时,DevExpres
发布时间:2020-12-16 07:28:55 所属栏目:asp.Net 来源:网络整理
导读:当页面上发生单独的客户端操作时,我想按需刷新TabControl中的选项卡.我已将我的TabControl扩展(也尝试过PageControl)放在CallbackPanel中,并且EndCallBack事件永远不会触发.如果ShowLoadingPanel设置为true,您会看到调用挂起,因为加载面板永远不会消失. OnBe
当页面上发生单独的客户端操作时,我想按需刷新TabControl中的选项卡.我已将我的TabControl扩展(也尝试过PageControl)放在CallbackPanel中,并且EndCallBack事件永远不会触发.如果ShowLoadingPanel设置为true,您会看到调用挂起,因为加载面板永远不会消失. OnBeginCallback和实际的Controller回调操作都会被执行.我假设面板和选项卡之间存在某种冲突的回调,但我无法弄清楚如何解决它.如果我用基本的html或其他更简单的DevExpress控件替换TabControl,一切正常.
TabControl Partial(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() Panel Partial(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配置.具体来说 – 将compression元素上的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脚本都在我的布局体底部.我需要在DevExpress脚本之前将jQuery移动到头部.奇怪的是,在此问题出现之前,其他一切都运转正常.感谢任何试图重现的人.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 如何使用ASP.NET MVC,WebAPI和MEF为每个请求
- asp.net-mvc – Url.Action生成查询字符串,以任何方式生成完
- asp.net – 什么时候回输HTML输入标签?
- asp.net-mvc – ASP.NET MVC中的通用基本控制器错误处理问题
- asp.net-mvc – 如何在MVC中调用.ashx文件?
- asp.net-mvc – Visual Studio断点未被击中
- asp.net-mvc-3 – ASP.NET MVC – 在不重写方法的情况下扩展
- asp.net-mvc – 其中Simple Injector等效于StructureMap的O
- asp.net-mvc-5 – 尝试安全透明方法’System.Web.WebPages.
- asp.net-mvc – 在ASP.NET MVC中定制授权