![]() |
|
Модераторы: gambit |
![]()
|
|
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
Вобщем пишу я тут custom control и возникла у меня такая проблема: Одно из свойств этого контрола должно быть указатель на другой контрол.
Я не долго думая стал по аналогии передавать в этот контрол string в виде ID контрола, который мне нужен и дальше при работе я просто писал Page.FindControl("<id controla>"), но как только я начал использовать контрол в более сложной связке (MasterPage, Page, UserControl) то он "внезапно" перестал работать Вобщем подсобите -------------------- |
|||
|
||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 5 Всего: 232 |
А из ContentPlaceHolder можно вытянуть/кастовать UserControl, или Content с юзерконтролом, или как-то ещё ?...
-------------------- ![]() |
|||
|
||||
| tol05 |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
Mymik, я не понял проблемы. Какой контрол, где ты его юзаешь и как?.. Можно немного кода?
-------------------- На хорошей работе и сны хорошие снятся. |
|||
|
||||
| Mymik |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
Можно, но я получаю указатель не на ContentPlaceHolder, а на MasterPage в целом, а если таки ContentPlaceHolder'ов десяток... и в каком из них мне надо искать мой конторол ??? причем он может находится в десятом Сhild Control'е а просматривать все древо объектов я не хочу :( уж слишком глупое это дело, я не верю, что так DataSourceID у GridView ищит поставшик данных по всему древу объектов
Если задать этот вопрос более конкретно и сжато, то мне надо просто передать один контрол в другой контрол непосредственно в xml разметке, а не в behind-code. -------------------- |
||||
|
|||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 5 Всего: 232 |
Mymik, ну тогда только если через статическую переменную... А-ля Dictionary<string, Control> куда запихивать this каждого контрола в его конструкторе, по имени контрола. Криво конечно, но будет работать.
-------------------- ![]() |
|||
|
||||
| tol05 |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1632 Регистрация: 21.12.2006 Где: Харьков Репутация: 34 Всего: 170 |
поскольку я так и не понял, что ты имел в виду, Mymik, то я наваял пример связки двух контролов через разметку.
Немного кривой (в design-time студия не связывает). Надо книжки читать - да лень Есть кастом контрол - наследник от Button. Контол содержит ссылку на гиперлинк, обеспечивает к нему доступ и т.д. Короче - пример прост и понятен, комментарии излишни. Работает как на автономной странице, так и на странице контента. проект MeControls.dll
страница контента Default2.aspx
Default2.aspx.cs
-------------------- На хорошей работе и сны хорошие снятся. |
||||||
|
|||||||
| Mymik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1474 Регистрация: 12.5.2006 Где: Lamer-центер Репутация: 50 Всего: 78 |
да, все правильно... спасибо за помощь.
-------------------- |
|||
|
||||
| oshd |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 9.1.2008 Репутация: нет Всего: нет |
см. в reflector System.Web.UI.WebControls.DataBoundControlHelper.FindControl, этот метод используют DataBoundControl's
для поиска по DataSourceID, его код copy-paste:
p.s. кстати, что работало в дизайнтайме нужен атрибут, например: [IDReferenceProperty(typeof(DataSourceControl))] Это сообщение отредактировал(а) oshd - 9.1.2008, 17:47 |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |