我的Sharepoint生成的网页中有多个地方,其中元素ID由Sharepoint分配,前缀为“ct100”。
在我的javascript中引用这些ID有多安全? 他们有多静态? 他们有多大可能因任何原因而改变? 是否有任何文件讨论它们是如何生成并回答上述问题?
谢谢, 乔治
答案 0 :(得分:1)
“安全”在这里是相对的,取决于所涉及的特定页面和控件。
当控件尚未明确分配ID时,父ASP.Net Naming Container会自动生成看起来像ctXYZ
的个人ID - 也就是说,ID是自动生成的,如ct001,ct002,等等,确保不要创建重复项。
最终的客户端ID - 在HTML中被指定为id属性 - 由加入控件的所有ID和所有带下划线的祖先组成;因此,单个客户端ID的稳定性受多个控件的影响。
生成的客户端ID通常只有在始终以相同的方式重新创建控制树时才能保持稳定 - 这在许多情况下都适用,但它不是绝对的。动态添加或删除控件很容易打破这种假设。
ASP.Net 4(或4.5?)引入了不同的ID模式 - 主要是“可预测”,请参阅命名容器链接 - 但我不相信SharePoint在任何地方使用此新功能;并且它绝对不会用于包含ctXYZ
组件的ID。
答案 1 :(得分:0)
基于研究,最安全的方法是使用css和jquery来识别和操纵“ct001”元素。我尝试过这种方法,似乎工作正常。