2010-07-19 2 views
0

Я разрабатываю приложение, которое должно позволить клиенту добавить несколько разделов контента на страницу (в закладках). Однако я не нашел способ легко создать форму для редактирования вкладок.Как обрабатывать переменное количество текстовых полей в asp.net?

Предположим теперь, что вкладка просто содержит заголовок. У меня есть форма, которая добавляет вкладку, это просто. Но мне также нужна форма, которая отображает текстовый ввод для каждой вкладки и позволяет редактировать и сохранять заголовки. Я борюсь с двумя основными понятиями:

  1. Как динамически отображать поля после захвата данных вкладки из базы данных (каждая вкладка имеет свою собственную строку в таблице).
  2. Как пройти через предоставленные данные и обновить каждую вкладку в базе данных.
  3. Как выбрать конкретный текстовое поле с номером (например, данные «1», как выбрать элемент с идентификатором «TabTitle_1».

В настоящее время я ограничиваю его пять полей и с помощью кода, как это :

1. <asp:TextBox ID="TabTitle_1" runat="server"></asp:TextBox><br> 
.... 
5. <asp:TextBox ID="TabTitle_5" runat="server"></asp:TextBox> 

При этом на стороне сервера, чтобы настроить вкладки:

// numrows is the number of current tabs 
If numrows > 0 Then 
    Me.TabTitle_1.Text = dtClientNotes.Rows(0).Item("title") 
    Me.TabTitle_1.Visible = True 
End If 
.... 
If numrows > 4 Then 
    Me.TabTitle_5.Text = dtClientNotes.Rows(4).Item("title") 
    Me.TabTitle_5.Visible = True 
End If 

с такой код для обработки формы subnmission:

If numrows > 0 Then 
    Clients.EditTab(dtClientNotes.Rows(0).Item("id").ToString, Me.TabTitle_1.Text) 
End If 

Я думал, что-то вроде TabTitle[0] было бы приемлемым и позволяют легко зацикливание (как это делает в PHP), но это «не является допустимым идентификатором», по-видимому.

Возможно, у меня есть подход полностью на голове. Я использовал asp.net и VB довольно много для простых форм, но я больше привык к PHP. Если кто-нибудь может предоставить некоторые указатели, я был бы очень благодарен !!

ответ

1

Я предлагаю использовать repeater control. Вы можете настроить свой макет, как хотите (см. Примеры, предоставленные с помощью ссылки «Управление ретранслятором»). Доступ к данным в элементе управления так же прост (при повторении каждого элемента в ретрансляторе снова взгляните на примеры, представленные на веб-сайте msdn).

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