我需要能够设置动态生成的标签的ID,而不是让SharePoint为我的标签添加一个长的神秘ID。这是可能的还是标签的另一个属性我可以在单独的方法中用作唯一标识符?
Label animal = new Label();
animal.ID = cat;
此标签的ID将类似于:
ctl00_m_g_e0c173c0_edf3_4a99_a1dd_7bef33144c0b_ctl00_cat
我需要它是猫。
答案 0 :(得分:1)
要强制客户端ID与服务器端ID相同,请使用:
animal.ClientIDMode = ClientIDMode.Static;
答案 1 :(得分:0)
您无法设置服务器控件的ClientId。这是一个只读属性。
你看到的神秘内容实际上是你的控制层。
答案 2 :(得分:0)
如果您尝试使用javascript访问控件并使用jQuery,则可以使用各种正则表达式选择器:
$("label[id$='cat']")
这将查找id为以'cat'结尾的标签元素
如果你的javascript在aspx文件中,而不是js文件,你也可以像这样访问它:
$('#<%=cat.ClientID %>')
这只会将Sharepoint创建的长ID注入您的js。关键是它需要驻留在aspx文件中,而不是js文件。