2014-01-10 3 views
0

На моих веб-страницах, созданных с помощью Sharepoint, есть разные места, где идентификаторы элементов присваиваются значениям Sharepoint с префиксом «ct100».Насколько безопасно полагаться на идентификаторы Sharepoint «ct100»?

Насколько безопасно ссылаться на эти идентификаторы в моем javascript? Насколько они статичны? Насколько они могут измениться по какой-либо причине? Есть ли какая-либо документация, которая обсуждает, как они являются generetad и отвечает на вышеуказанные вопросы?

Спасибо, Джордж

ответ

0

На основе исследований самым безопасным подходом является использование css и jquery для идентификации элементов «ct001» и управления ими. Я пробовал этот подход и, похоже, работает нормально.

1

«Safe» относительна здесь и зависит от страницы конкретных и управления участвуют.

Индивид идентификаторы, которые выглядят как ctXYZ генерируются автоматически родительским ASP.Net Naming Container, когда контроль не был явно назначен идентификатор - то есть, идентификатор генерируется автоматически, как CT001, ct002 и т.д., убедившись, чтобы не создавать дубликаты.

Окончательный идентификатор клиента, который присваивается атрибуту id в HTML, состоит из объединения всех идентификаторов элемента управления и всех предков с символами подчеркивания; таким образом, стабильность одного идентификатора клиента зависит от нескольких элементов управления.

Сгенерированные идентификаторы клиентов, как правило, гарантируют, что они останутся стабильными только в том случае, если Дерево управления всегда воссоздается таким же образом - это верно во многих случаях, но оно не является абсолютным. Динамическое добавление или удаление элементов управления может легко нарушить это предположение.


ASP.Net 4 (? Или 4,5) введен другой режим ID - в первую очередь «Предсказуемость», увидеть ссылку Нейминг Container - но я не верю, что SharePoint использует эту новую функцию в любом месте; и он определенно не используется для идентификаторов, содержащих ctXYZ компонентов.

+0

Спасибо за это объяснение - вещи, которые я никогда не знал. – gcarterIT

Смежные вопросы