Я уже показывал, что во многих случаях
для создания веб-приложения при помощи Atlas вообще не требуется собственно программировния. Сплошной drag'n'drop, настройка папаметров и "декларативное программирование", когда контролы напоминают шестеренки в механизме, а вы просто указываете, какая шестеренка и как зацепляет свою соседку. Однако зачастую этого недостаточно и контролы из того же Atlas Control Toolkit приходится добавлять динамически.
Простой пример -- корзина заказа. На странице выводится список предзаказанных товаров, происходит окончательная проверка, а затем -- непосредственно отправка заказа. Предположим, что мы хотим при отправке спросить, действительно ли клиент уверен, что все поля заполнены правильно. Естественным выбором, если вы используете Atlas, будет ConfirmButtonExtender. Одна беда -- а что, если у нас в корзине нет товаров и, соответственно, отсутствует кнопка "заказать", к которой привязывается ConfirmButtonExtender? Он, конечно же, будет выдавать ошибку. Значит, нам придется проверять, есть ли в форме эта кнопка и динамически добавлять контрол. Беда только в том, что в документации примера нет, но ничего обойдемся. Итак, есть кнопка btnOrder, расположенная внутри UpdatePanel upButton. И есть наш контрол ConfirmButtonExtender, который принимает 2 параметра: TargetControlID (ID кнопки, на которую вешаем подтверждение) и ConfirmText (вопрос, который мы задаем пользователю). Итак:
//создаем новый ConfirmButtonExtender AtlasControlToolkit.ConfirmButtonExtender cbeOrderBtn = new AtlasControlToolkit.ConfirmButtonExtender(); //создаем настройки ConfirmButtonProperties AtlasControlToolkit.ConfirmButtonProperties cbeProp = new AtlasControlToolkit.ConfirmButtonProperties(); //добавляем параметр ConfirmText cbeProp.ConfirmText = "Заказ сформирован правильно?"; //добавляем параметр TargetControlId cbeProp.TargetControlID = btnOrder.ID; //сопоставляем наш ConfirmButtonExtender и его свойства cbeOrderBtn.TargetProperties.Add(cbeProp); //добавляем контрол в панель upButton upButton.Controls.Add(cbeOrderBtn); Ну вот и все =)
Запись добавлена 15.08.2006 в 4:08. Автор Boris Bogdanov. Категории: AJAX, atlas, Библиотеки и фреймворки, Статьи про MS Atlas. Комментарии к этой записии можно отслеживать по RSS 2.0. Комментарии и пинги запрещены.
теги: AJAX, ASP.Net, ASP.NET-AJAX, atlas, c#, Microsoft.
Спасибо за науку!