Я разработал пользовательский элемент управления, который отображает список продуктов, и он работает довольно хорошо. Затем я поместил этот пользовательский элемент управления в другой пользовательский элемент управления, который позволяет пользователю выбирать другие критерии и обновления UC продукта, чтобы показать эти продукты, все довольно гладко и с AJAX через UpdatePanel.
Все работало просто отлично ... потом пришло другое требование. Элемент управления "поиск" должен быть отделен от элемента управления продукта (чтобы их можно было позиционировать отдельно). Сначала я думал, что это не проблема, поскольку я предоставляю элементу управления поиском ссылку на элемент управления продуктом, а затем он обращается к нему по ссылке, а не непосредственно внутри элемента управления (который был удален).
И они разговаривают. Но продукт управления загружается, но отображать отказывается.
Я проверил, и он передается по ссылке, а не по копии (насколько я могу судить).
В элементе управления поиском есть панель обновления. В контроле продукта есть панель обновлений. И, кроме того, для правильной оценки есть страница обновлений, окружающая их обоих на реальной странице поиска aspx.
Я попытался установить условную панель обновления элемента управления продуктом, а затем вручную запустить метод .Update ().
В чем секрет?
ТИА!
решаемые
Спасибо Jamie Ide за подсказку по использованию событий.
Поисковый контроль и Контроль продукта по-прежнему имеют внутренние панели обновлений, и НИКАКИЕ БОЛЬШЕ их не имеют на этой конкретной странице.
Поисковый элемент управления теперь вызывает событие OnSearchResultsUpdated и выставляет найденные элементы в свойствах. Страница подписывается на это событие, получает свойства и передает их элементу управления продукта, а также запускает метод .Refresh () в элементе управления продукта, который просто вызывает .Update () на своей внутренней панели обновления.
Контроль продукта, к вашему сведению, принимает продукты в нескольких вариантах. Список отдельных SKU, список идентификаторов продуктов, именованная коллекция в нашей базе данных и, наконец, данная категория продуктов.
Наши дизайнеры должны иметь возможность создать новую страницу, перетащить на нее элемент управления, установить некоторые свойства и вуаля! Новая страница сайта. Они не хотят требовать участия программиста. Таким образом, сохранение контроля является обязательным требованием. К счастью, все внесенные мной изменения полностью работают с другими элементами управления продуктом.
БОЛЬШОЕ СПАСИБО!