【问题标题】:Kentico custom table data editing issueKentico 自定义表格数据编辑问题
【发布时间】:2018-04-06 14:19:19
【问题描述】:

保存任何更改后,自定义表的数据会挂在加载屏幕上。这发生在某些表上,似乎大多数记录都已保存,但是我注意到有几个在重新应用更改之前没有保存在某个自定义表中!

我想知道是什么导致了这个问题。

【问题讨论】:

  • 表有多大,每个表存储多少数据?
  • 有不同的表大小,但大多数时间有保存问题的表少于 20 条记录!
  • 此时事件日志中发生了什么奇怪的事情?插入时间与更新时间不同吗?您是否为像更新这样的自定义表事件运行任何自定义代码?在您的代码中搜索类似的内容:CustomTableItemEvents.Update。
  • 对于大小问题,一行中有多少数据?您是在保存二进制文件还是大量文本?尝试检索该数据可能会超时,或者可能与 Kentico 无关,并且您的主机或 azure 资源受到限制。
  • 考虑在重现此问题时使用 chrome 中的开发人员工具打开脚本控制台,并查看是否发生 JavaScript 错误。如果 UI 挂起,则可能是 UI 本身的问题,而不是数据库的问题。

标签: c# .net content-management-system kentico


【解决方案1】:

我使用浏览器的开发者工具发现了这个问题。

问题

点击保存按钮正在创建 Mixed Content: The page at 'https://address' was loaded over HTTPS, but requested an insecure form action 'http://address'. This request has been blocked; the content must be served over HTTPS. 浏览器上的 JS 错误,浏览器阻止了内容。但是,表单操作并未指向绝对 URL 地址。

解决方案

由于服务器 SSL 配置很好,因此,除了更改核心 CustomTableForm.ascx.cs Kentico 文件之外别无他法。虽然不推荐。通过开发customTableFormobject 的RedirectUrlAfterSave 属性来解决问题,以确保它将重定向正确的协议而不是绝对URL

希望对大家有所帮助。

【讨论】:

    【解决方案2】:

    这只是引起了我的注意,不知道我以前是怎么错过的。因此,我将发布我的答案以供将来参考:-) 我猜在 Kentico 运行的实际 IIS 之前有一些 SLL 卸载正在进行。在这种情况下,必须实现SSL Accelerator。该链接指向 Xperience 13 版本,但同样的想法适用于旧版本。只需使用顶部栏中的版本选择器 - 可能存在一些 API 差异。

    同样适用,例如上传媒体文件时 - 浏览器控制台将显示混合内容警告。这是出于安全原因。浏览器看到 HTTPS,但在卸载程序后面有 HTTP 通信,GetAbsoluteURL 方法从请求中获取协议。因此,混合内容。使用 ssl 加速器会告诉 Kentico 在内部使用 HTTPS。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-10-06
      • 1970-01-01
      • 2013-06-30
      • 1970-01-01
      • 1970-01-01
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多