2012-05-03 1 views
-1

я занимаюсь разработкой мини-проект в asp.net-C# ... в том, что у меня есть одна путаница ... как я могу видно количество текстовых полей во время выполнения для вставки записей в SQL Server 2005.Как добавить количество текстовых полей во время выполнения в asp.net web foms?

для пример ...

если я хочу 3 текстового поля во время выполнения, то мы можем сделать это легко, поставив на вебе-форме ...

но когда мы извлекаем запись из базы данных мы не знаем, точное количество записей для вставки в базу данных ....

Мне нужно создавать текстовые поля динамически, поскольку пользователь указывает no ... если пользователь не задает число строк до 3, то в веб-форму необходимо добавить 3 текстовых поля, а также мне нужно прочитать текст, введенный позже (в моем случае его отметки студента) ....

что это лучший способ сделать это так? ? благодаря

ответ

0

попробовать что-то вроде этого на Page_Init

for (int i = 0; i < ANYNUMBER; i++) 
     { 
       var textBox = new TextBox(); 
       textBox.ID = "txb_" + i.ToString();      
       this.Controls.Add(textBox); 
     } 

Также вы можете посмотреть на Dynamically Create Controls in ASP.NET

0

использовать повторитель. http://msdn.microsoft.com/en-us/library/c012haty(v=vs.90).aspx

Вот пример (в VB.NET), в котором используется ретранслятор без реального источника данных.

VB.NET Repeater Simple Data Binding Without Datasource

Здесь в C#

myRepeater.DataSource = new int[3]; 
myRepeater.DataBind(); 

<asp:Repeater id="myRepeater" runat="server"> 
<ItemTemplate> 
    <input type="text" /> 
</ItemTemplate> 
</asp:Repeater> 
0

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

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

Другой подход - использовать ретранслятор, сетку или другой элемент управления данными. Используйте этот подход, если количество элементов управления зависит от количества элементов данных, которые необходимо отобразить.

Еще один подход заключается в том, чтобы вставить текст, например, в элемент управления Literal с необходимой разметкой HTML. Если вам не нужны значения для отправки на сервер, это более простой способ сделать это, хотя это может быть немного больше.

+0

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

+0

Вы действительно не предоставили достаточно подробностей о том, что вы делаете для меня, чтобы привести пример. Существуют примеры использования ретранслятора во всем Интернете, если вам нужен общий пример. –

+0

вы можете увидеть эту ссылку http://stackoverflow.com/q/10425871/1357042 что именно я хочу сделать ... – mack28

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

  • Нет связанных вопросов^_^