0

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

Label animal = new Label();
animal.ID = cat;

此标签的 id 将类似于: ctl00_m_g_e0c173c0_edf3_4a99_a1dd_7bef33144c0b_ctl00_cat

我需要它是猫。

4

3 回答 3

1

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

animal.ClientIDMode = ClientIDMode.Static;
于 2012-08-27T23:21:46.750 回答
0

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

您看到的神秘身份实际上是您的控制层级。

于 2012-08-27T21:53:57.293 回答
0

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

$("label[id$='cat']")

这将寻找一个标签元素,其 id 以 'cat' 结尾

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

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

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

于 2012-08-27T21:56:43.553 回答