Sharepoint html 元素命名约定,由 Sharepoint Controls 提供
Posted
技术标签:
【中文标题】Sharepoint html 元素命名约定,由 Sharepoint Controls 提供【英文标题】:Sharepoint html element naming conventions, by Sharepoint Controls 【发布时间】:2013-11-18 08:07:30 【问题描述】:有几次我尝试在 Sharepoint Designer 中使用 css、html 或 javascript 自定义 SP2007 页面;但是,在 Sharepoint Designer 中,我无法直接访问所需的元素,因为它们是由 Sharepoint 控件(例如 Web 部件或数据视图)生成的,并且仅在页面在浏览器中呈现后才会出现。我使用 IE 的 F12 来跟踪我希望更改的元素。然后我可以看到可以在我的 javascript 或 css 中使用的标识符,例如 name 或 id。
示例 1:SP2007 为输入文本框生成“name=ctl00$PlaceHolderMain$g_ba9196a9_2842_4607_b048_9a443cb4def5$ff2_1$ctl00$ctl00$BooleanField”。我根据需要使用该名称来操作文本框。
示例 2:SP2007 为我用来获取用户全名的“欢迎”文本生成“id=zz6_menu”。
到目前为止,这一切都很好。我是在诱惑命运吗?
有人可以让我参考讨论这些名称和其他 Sharepoint Control 元素标识符是如何生成的参考吗?
它们稳定吗?如果我使用我的 SP 版本开发的应用程序没有更新到更高版本的 SP,我可以指望它们是相同的吗?即使在这种情况下,我认为我可以简单地更新到由新版本的 SP 创建的标识符。
这是一个好习惯吗?还有其他的cmets吗?
欢迎所有回复。
谢谢。
【问题讨论】:
【参考方案1】:SharePoint 基于 ASP.NET,这就是自动生成 ID 的原因。
参见article。 您不应该使用它们来识别 css 或 js 上的元素。
不要编写引用控件的代码使用 生成的 UniqueID 属性。您可以将 UniqueID 属性视为 处理(例如,通过将其传递给进程),但您不应该 依赖于它具有特定的结构。
在我看来,最好的方法是依赖 css 类,因为它们不是自动生成的,也不应该有太大的变化。
无论如何,如果你升级到 SP2010 或 2013,你的很多修改将不再起作用,因为结构和 css 发生了变化......
【讨论】:
以上是关于Sharepoint html 元素命名约定,由 Sharepoint Controls 提供的主要内容,如果未能解决你的问题,请参考以下文章
如果xml元素命名约定与POJO属性命名约定不同,则发送到Spring Boot REST API的XML元素不会映射到POJO