2009-08-24 2 views
0

Как я могу динамически создавать текстовые поля, которые зависят от количества записей базы данных в asp.net? Например: есть школьная программа, в которой вы сможете вставлять экзаменационные точки учеников, а также есть несколько классов в школе. Вы не знаете, сколько людей есть, и вы должны динамически создавать текстовые поля для вставки точек экзамена.Как динамически создавать текстовые поля зависит от количества записей в базе данных asp.net?

ответ

2

Управление страницей, панель управления и некоторые другие имеют объект .Controls, в котором вы можете динамически добавлять новые элементы управления на страницу. Затем он становится чем-то же просто, как:

Dim txtDynamic As New Textbox() 
Me.Page.Controls.Add(txtDynamic) 

Вы можете применить дополнительные свойства для управления, в котором ЗАКАНЧИВАТЬ this MSDN article с дает полную информацию о добавлении элементов управления.

+0

Спасибо Дилли, я думаю, это то, что я ищу :) Еще раз спасибо. –

0

В зависимости от характера данных, которые необходимо обработать в TextBox, вы можете легко иметь HTML-литеральный элемент управления на странице в качестве заполнителя. Затем в вашем коде за страницей вы просто добавляете правильный HTML-код, чтобы создать необходимое количество текстовых полей, и установите полученный код в ваш литеральный элемент управления HTML. Если вам нужно получить данные, вы можете просто добавить атрибут «runat = server» ко всем стандартным элементам управления текстовыми полями HTML.

Этот подход дает вам немного более непосредственную гибкость в отношении того, как будут выглядеть текстовые поля, без необходимости настраивать DataList или что-то в этом роде.

+0

Я понимаю, что я опубликовал здесь два ответа, но я полагаю, что это будет «опрос», чтобы увидеть, какой подход будет работать лучше всего и предпочитается группой. –

1

+1 Дилли для правильного ответа.

Я хотел бы добавить, что если вы хотите это сделать, вам лучше иметь хорошее представление о ASP.NET page lifecycle. Чрезвычайно важно, чтобы вы создали свои элементы управления в правильное время, иначе они не будут доступны для страницы, чтобы активировать события в/заполнении данными из обратной передачи. Как правило, это должно быть во время события Page_Init (через какое-то время, так как я это сделал!).

+0

+1 для жизненного цикла страницы (и спасибо за реквизит 8^D) ОЧЕНЬ важно убедиться, что когда вы создаете/обрабатываете эти элементы управления, как объясняет Уилл. –

Смежные вопросы