Как назвать элементы HTML в пользовательских элементах управления? - PullRequest
0 голосов
/ 01 марта 2011

Недавно я разработал свой собственный пользовательский элемент управления.

Мой элемент управления состоит из элемента управления ASP: Tree и простого ввода текста в формате HTML с обильным кодом Javascript, jQuery и .net для их совместного воплощения в жизнь.

У меня две проблемы.

1) У меня может быть только один экземпляр этого элемента управления на странице за раз.Ввод текста называется txtUserControl, поэтому размещение второго экземпляра на странице вызывает конфликт имен.У меня та же проблема с ASP: Tree.

2) Если я помещаю свой пользовательский элемент управления в ASP: UpdatePanel, он вообще не работает.Я получаю ошибки по всей странице, когда пытаюсь ее обновить.Кстати, у меня та же проблема с пользовательским элементом управления, созданным одним из моих коллег.

У меня есть несколько идей для элементов управления, которые я хотел бы использовать снова и снова в своих проектах.Я хотел бы, чтобы они были безупречны.

Каковы лучшие методы для решения этих проблем?

Ответы [ 2 ]

2 голосов
/ 01 марта 2011

Если вы используете runat="server" на элементах управления HTML, им будет автоматически назначен уникальный идентификатор для всех экземпляров пользовательских элементов управления.Вам необходимо сослаться на свой элемент управления, используя свойство ClientID на стороне сервера, например:

// javascript code
function doStuff() {
    var myUserControl = $get('<% =MyUserControl.ClientID %>');
};
0 голосов
/ 01 марта 2011

Ваши проблемы будут устранены, если вы преобразуете свой пользовательский элемент управления в Composite Control .

Иногда заставить его работать с первого раза немного сложно, однако стоит потратить время на то, чтобы научиться создавать их и использовать их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...