【发布时间】:2014-10-29 07:43:37
【问题描述】:
示例:我们有一个员工列表页面,它由过滤条件表单和员工列表网格组成。您可以过滤的标准之一是经理。如果用户想选择一个经理进行过滤,他使用查找控件并打开弹出窗口,该窗口也具有过滤条件和员工列表网格。
现在的问题是,如果弹出窗口不是 iframe,则某些弹出元素将具有与所有者页面相同的名称和 id。重复的 id 会导致 Kendo UI 中断,因为默认情况下 MVC 包装器会使用 $("#id").kendoThingie 生成脚本标签。
我过去使用过 iframe,但不适合 iframe 窗口的内容(如长下拉列表)会被截断,现在 IE11 尤其会导致各种问题,例如 https://connect.microsoft.com/IE/feedback/details/802251/script70-permission-denied-error-when-trying-to-access-old-document-from-reloaded-iframe。
这里最好的解决方案是什么?为 Razor 页面上的所有元素生成唯一 ID?修改由 Ajax 检索的部分页面内容,使 id 唯一?还有什么?
【问题讨论】:
-
我现在正在处理这个问题。许多 Kendo 控件在同一元素有两个 id 时执行此操作。发现这个 fiddle 用 Jquery 选择重复的 ID。 jsfiddle.net/P2j3f/2
标签: html asp.net-mvc kendo-ui