powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Динамическое создание контролов
21 сообщений из 21, страница 1 из 1
Динамическое создание контролов
    #37694775
maxterbear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему считается неправильным создавать динамически контролы?

Код: c#
1.
2.
3.
4.
5.
TextBox MyTextBox = new TextBox();
Button MyButton = new Bitton();

Panel.Controls.Add(MyTextBox);
Panel.Controls.Add(MyButton);
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37694788
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну.. почему неправильным.. такое явление не редко, особенно в динамически-формируемой архитектуре, но не в банальных задачах

т.е. если нужно сделать "статическую" форму и по флажку что нить скрывать/показывать, то лучше все контролу добавить на форму и показывать/скрывать соответственно

а ежели у тебя пользователь (админ/манагер и т.п.) сам формирует структуру формы для других пользователей, то можно и динамически добавлять, но все равно рекомендую сделать как в Dynamic Data Web Application - для каждого базового контрола сформировать свой UserControl, чтобы, к примеру, обернуть его чем-то своим и т.п.

в конечном счете, если посмотришь design файлы форм (или почитаешь эспозито или мак-дональда) то увидишь, что в них контролы как раз таки динамически создаются (объявлены как поля класса), динамически привязываются к ним события.
но считается лишней работой, потому предпочтительней пользоваться автоматизированием
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37694863
.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.
Гость
Слишком часто создание контролов динамически говорит о незнании автором репитеров, гридвью, листвью etc
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37694935
Фотография iConst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни о чем это не говорит.

maxterbear , я так понимаю: имеет место рефренс на Как вручную добавить обработчик события? .

Не слушайте, что тут советуют - продолжайте изучение. Единственное, на чем можно акцентироваться, что на практике дин. добавление кнопок встречается много реже, чем тех же полей.

Ну и Вам в минус - что вопрос по обработчику не должен был возникнуть при чтении первых страниц технологии веб формс.
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37694948
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iConst...
Не слушайте, что тут советуют - продолжайте изучение.
...

Прежде не слушай этот совет, а послушай мой и почитай Microsoft ASP.NET 4 с примерами на C# 2010 для профессионалов

P.S.: качать торренты плохо, ссылка предоставлена исключительно для ознакомления :)
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37694977
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYS,

Напиши мне, чтобы вечером или завтра с утра не забыл бы удалить. ОК? :)
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37694982
Фотография iConst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYS... Microsoft ASP.NET 4 с примерами на C# 2010 для профессионалов ...- Глава 1. Введение в ASP. NET -
...

Самому-то не смешно?
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37695019
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iConstSanSYS... Microsoft ASP.NET 4 с примерами на C# 2010 для профессионалов ...- Глава 1. Введение в ASP. NET -
...

Самому-то не смешно?

ему самое то :)
А книжка на самом деле не плохая, главное хоть с чего-то начать
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37696553
Фотография iConst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSYS...

ему самое то :)
А книжка на самом деле не плохая, главное хоть с чего-то начатьТак он уже начал - экспериментирует с динамикой... И фигли гнобить человека - все правильно делает.

Возможно книжка как раз для него.
Забавно - вот уверен, что там как раз имеется объемная глава по динамическому добавлению контролов.

Всегда смешили такие книжки: в предисловии - "... рассчитана на программистов средней и высокой квалификации ..." Глава 2. "Синтаксис C# (или VB.Net)"
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37696708
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iConstВсегда смешили такие книжки: в предисловии - "... рассчитана на программистов средней и высокой квалификации ..." Глава 2. "Синтаксис C# (или VB.Net)"

т.е. вы отказываете профессионалам в способности что-нибудь изучить с нуля, например, ASP.NET и c#? :)
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37696823
maxterbear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо за ответы, и спасибо за критику ;) Если делаю говно то говорите это, я не обижусь ;) Объясняю почему я динамически добавляю контролы: перед мной встала задача написать простенький сайт со множеством разделов аля каталог товаров, новости, блог и т.д. и т.п. Для каждого из этих разделов нужны формы добавления, редактирования, просмотра и удаления. Вручную их писать для каждого раздела трудозатратно, поэтому я решил это дело автоматизировать. То есть чтобы можно было указать поля и формы построились автоматически. В итоге например форма для редактирования новостей у меня свелась к примерно такому коду:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
QueryField NewsName = new QueryField("NewsName");
QueryField NewsDate = new QueryField("NewsDate");
NewsDate.Type = "date";
QueryField NewsText = new QueryField("NewsText");
QueryField NewsImage = new QueryField("NewsImage");
NewsImage.Type = "image";

QueryData EditNews = new QueryData;
EditNews.Fields.Add("NewsName");
EditNews.Fields.Add("NewsDate");
EditNews.Fields.Add("NewsText");
EditNews.Fields.Add("NewsImage");


....
AddControlsForEdit(Panel1,QueryData);

....

buttonEditNews_click(Object sender, EventArgs e)
{
   EditNews(Panel1); //
}



Весь вывод можно кастомизировать - "начало / конец блока / записи / колонки"...
Может это и неправильно, но это работает и реально сокращает лично для меня время разработки сайта, но буду благодарен, если подскажите другой вариант, более правильный. Возможно надо использовать нормальную ORM и мапить данные на доменные объекты, но мне кажется я бы это дольше делал...
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37696826
maxterbear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxterbear, ой там очепятка, надо писать так, без кавычек:

Код: c#
1.
2.
3.
4.
5.
QueryData EditNews = new QueryData;
EditNews.Fields.Add(NewsName);
EditNews.Fields.Add(NewsDate);
EditNews.Fields.Add(NewsText);
EditNews.Fields.Add(NewsImage);



Кстати, а можно как-то сократить подобный код, чтобы например писать так EditNews.Fields.Add(NewsImage,NewsText....);
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37696995
Фотография iConst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarlexiConstВсегда смешили такие книжки: в предисловии - "... рассчитана на программистов средней и высокой квалификации ..." Глава 2. "Синтаксис C# (или VB.Net)"

т.е. вы отказываете профессионалам в способности что-нибудь изучить с нуля, например, ASP.NET и c#? :)Если бы я увидел в своем отделе "профессионала" с книжкой, например, " J# для чайников ", то очень скоро перестал бы видеть его в отделе навсегда...

Я к тому, что если речь идет про литературу для профессионалов , то, как правило, это всякого рода мигрейшны и т.п. без "сю-сю"... Вам интересно было-бы читать книжку, например, по технологии нанесения венецианской штукатурки, написанную языком для дошкольников?

профессионалыЧую, как всегда проблема с предметной областью - что кроется под словом "профессионал".
венецианский штукатурТут решил попробовать самому венецианскую штукатурку положить - профи хотят очень дорого, плюс получишь то, что получишь, а хочется как хочется
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37697832
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxterbearВручную их писать для каждого раздела трудозатратно, поэтому я решил это дело автоматизировать. То есть чтобы можно было указать поля и формы построились автоматически.

Такая автоматизация приблизительно из этой области :)
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37697847
Starlex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iConstЕсли бы я увидел в своем отделе "профессионала" с книжкой, например, " J# для чайников ", то очень скоро перестал бы видеть его в отделе навсегда...


Поэтому и пишут "для профессионалов" :)
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37697944
maxterbear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТакая автоматизация приблизительно из этой области :)

Starlex, ок как тогда правильно? ) Вручную каждую форму создавать? )
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37698000
Фотография iConst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarlexiConstЕсли бы я увидел в своем отделе "профессионала" с книжкой, например, " J# для чайников ", то очень скоро перестал бы видеть его в отделе навсегда...


Поэтому и пишут "для профессионалов" :) - Именно!
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37698039
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StarlexПоэтому и пишут "для профессионалов" :)
А я бы "профессионала" дезинтегрировал бы.
Какие бывают книжки по математике - например, "Начала" Эвклида. Любое "Введение" - тянет на монографию, "Основы" - это вообще что-то заоблачное и на филдсовскую премию тянет. А книшки для ламеров как раз и называются, типа "высшая математика для профессионалов".
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37698107
Фотография iConst
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSerge... А книшки для ламеров как раз и называются, типа "высшая математика для профессионалов". Ага,
Глава 1. Основные операции: сложение, вычитание, ... :)
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37698120
Фотография SanSYS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iConstShSerge... А книшки для ламеров как раз и называются, типа "высшая математика для профессионалов". Ага,
Глава 1. Основные операции: сложение, вычитание, ... :)
тогда лучше: Глава 1: История математики и обзор предыдущих версий ))
...
Рейтинг: 0 / 0
Динамическое создание контролов
    #37698150
.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
.
Гость
maxterbearДля каждого из этих разделов нужны формы добавления, редактирования, просмотра и удаления. Вручную их писать для каждого раздела трудозатратно...
Возможно надо использовать нормальную ORM и мапить данные на доменные объекты, но мне кажется я бы это дольше делал...Linq2Sql, LinqDataSource, DetailsView(или FormView)
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Динамическое создание контролов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]