C#获取动态创建标签的id

C#获取动态创建标签的id,c#,asp.net,sharepoint-2010,C#,Asp.net,Sharepoint 2010,我需要能够设置动态生成的标签的id,而不是让SharePoint在我的标签前面加上自己的长而神秘的id。这是可能的,还是标签的另一个属性可以在单独的方法中用作唯一标识符 Label animal = new Label(); animal.ID = cat; 此标签的id类似于: ctl00\u m\u g\u e0c173c0\u edf3\u 4a99\u a1dd\u 7bef33144c0b\u ctl00\u cat 我需要它是cat。您不能设置服务器控件的ClientId。它是只读

我需要能够设置动态生成的标签的id,而不是让SharePoint在我的标签前面加上自己的长而神秘的id。这是可能的,还是标签的另一个属性可以在单独的方法中用作唯一标识符

Label animal = new Label();
animal.ID = cat;
此标签的id类似于:
ctl00\u m\u g\u e0c173c0\u edf3\u 4a99\u a1dd\u 7bef33144c0b\u ctl00\u cat


我需要它是cat。

您不能设置服务器控件的ClientId。它是只读属性


您看到的神秘id实际上是您的控件继承权。

如果您试图使用javascript访问控件并使用jQuery,您可以使用各种正则表达式选择器:

$("label[id$='cat']")
它将查找id以“cat”结尾的标签元素

如果您的javascript在aspx文件中,而不是js文件中,您也可以这样访问它:

$('#<%=cat.ClientID %>')
$(“#”)

这只会将Sharepoint创建的长id注入js。关键是它需要驻留在aspx文件中,而不是js文件中。

要强制客户端id与服务器端id相同,请使用:

animal.ClientIDMode = ClientIDMode.Static;

我本人不是Sharepoint开发人员。。但标签上肯定有客户ID?例如:
animal.ClientID
==ctl00\u m\u g\u e0c173c0\u edf3\u 4a99\u a1dd\u 7BEF3144C0b\u ctl00\u cat。如果运行时提供了一种获取实际ID的方法,那么为什么需要将其设置为“cat”呢?因为我需要知道标签上的ID是什么,这样我就可以在不同的方法中使用它。这就是为什么我在尝试设置
animal.ClientID=“Static”
时出现只读错误的原因。这有什么办法吗?
ClientID
的替代方法?是否尝试在客户端识别此控件?