Форум программистов, компьютерный форум, киберфорум
C#: Web, ASP.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/22: Рейтинг темы: голосов - 22, средняя оценка - 4.82
0 / 0 / 1
Регистрация: 14.12.2010
Сообщений: 3
1

Создание динамического TextBox и Button

14.12.2010, 18:31. Показов 4369. Ответов 2
Метки нет (Все метки)

Нужно создать динамически TextBox и Button. При нажатии на Button содержимое TextBox записывается в базу. Вопрос состоит в том как создать и как вытянуть данные из TextBox.
Делаю так:
С#:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public Button ButtonAdd = new Button();
public TextBox TextBox3 = new TextBox();
 
protected void Page_Init()
{
  ButtonAdd.Click += new EventHandler(ButtonAdd_Click);
}   
 
protected void Page_Load(object sender, EventArgs e)
{
  Record.Append("<textarea name=\"ctl00$ContentPlaceHolder1$TextBox3\" id=\"ctl00_ContentPlaceHolder1_TextBox3\" \"></textarea><br />");
 
  Record.Append("<input name=\"ctl00$ContentPlaceHolder1$ButtonAdd\" id=\"ctl00_ContentPlaceHolder1_ButtonAdd\" type=\"submit\">");
 
  //Переменная_на_странице = Record.ToString();
}
 
 
protected void ButtonAdd_Click(object sender, EventArgs e)
{
  ButtonAdd.Text = TextBox3.Text;        
}

не срабатывает событие ButtonAdd_Click и не вытаскиваются данные из TextBox3. По идее нужно вызвать Controls.Add(ButtonAdd); и Controls.Add(TextBox3); Но при этом возникает ошибка в которой сказано что элементы должны содержать runat="server" как его прописать не нашел. В самой странице (.aspx) не могу ничего написать, так как заранее не знаю где будет находиться эти элементы.

Помогите разобраться.
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.12.2010, 18:31
Ответы с готовыми решениями:

Показать/скрыть button,textbox при нажати на checkbox
Проблема в следующем, на web-форме есть checkbox и несколько контролов (textbox,button и т.д.),...

Как добавлять имена в DataGridView через другую form в которой textbox и button
Как добовлять имена в DataGridView через другую form с помощью textbox и button. У меня есть form1...

Создание динамического запроса в С#
Добрый день! Подскажите пожалуйста есть некоторые параметры которые выводятся в checkedListBox1....

Создание динамического события для объекта подключаемого из dll (динамика)
Всем привет, помогите. мучаюсь уже битый час... \ Суть такова. есть главная форма, у нее есть...

2
0 / 0 / 1
Регистрация: 10.03.2010
Сообщений: 10
15.12.2010, 00:12 2
------

Добавлено через 20 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
public Button ButtonAdd = new Button();
public TextBox TextBox3 = new TextBox();
 
public void But_add(object sender, EventArgs e)
{
 List<string> list = new List<string>(); // Лист для записи содержимого текстбокса
 list.Add(TextBox3.Text); // Записываем содержимое
 MessageBox.Show(list[0]); // выводим то что записали
}
 
ButtonAdd.Text = "Кнопка";
this.Controls.Add(ButtonAdd);
ButtonAdd.MouseClick += new MouseEventHandler(But_add); // записываемся на событие
0
0 / 0 / 1
Регистрация: 14.12.2010
Сообщений: 3
15.12.2010, 01:45  [ТС] 3
zloy05 спасибо. Но не то.

Организовано так:
на странице .aspx:
XML
1
2
3
...
<%=RecordAll %>
...
в файле .aspx.cs:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public Button ButtonAdd = new Button();
public TextBox TextBox3 = new TextBox();
 
protected void Page_Init()
{
  ButtonAdd.Click += new EventHandler(ButtonAdd_Click);
}       
 
protected void Page_Load(object sender, EventArgs e)
{
  Record.Append("<textarea name=\"ctl00$ContentPlaceHolder1$TextBox3\" id=\"ctl00_ContentPlaceHolder1_TextBox3\" \"></textarea><br />");
 
  Record.Append("<input name=\"ctl00$ContentPlaceHolder1$ButtonAdd\" id=\"ctl00_ContentPlaceHolder1_ButtonAdd\" type=\"submit\">");
 
  RecordAll  = Record.ToString();
}
 
 
protected void ButtonAdd_Click(object sender, EventArgs e)
{
  ButtonAdd.Text = TextBox3.Text;        
}
Проблемы три 1. вызвать событие Controls.Add(ButtonAdd) и Controls.Add(TextBox3) или this.Controls.Add(...) или Page.Controls.Add(...) или Form.Controls.Add(...)

выдаёт:
Сбой при загрузке состояния отображения. Дерево элементов управления, в которое загружается это состояние отображения, должно соответствовать дереву элементов управления, использованному для сохранения состояния отображения при предыдущем запросе. Например, при динамическом добавлении элементов управления те элементы управления, которые были добавлены при обратной передаче, должны по типу и положению соответствовать элементам управления, добавленным при исходном запросе.

2. Если не указывать Controls.Add(...)
надеялся заменить этим:
C#
1
<textarea name=\"ctl00$ContentPlaceHolder1$TextBox3\" id=\"ctl00_ContentPlaceHolder1_TextBox3\" \"></textarea>
То возвращает ошибку о том что элемент нужно поместить в
XML
1
runat="server"
3. Как вытащить данные из динамического TextBox.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.12.2010, 01:45

Создание динамического описания Description класса DescriptionAttribute пространства имен System.ComponentModel
Свойство public virtual string Description { get; } имеет дело только со статическими переменными....

Button, изменить поведение, не перегружая класс Button
&lt;asp:Button .../&gt; рендерится как: &lt;input type=&quot;submit&quot; .../&gt; Вопрос, можно ли изменить это...

Создание динамического двумерного массива Button-ов
Столкнулся со следующей проблемой: необходимо создать динамический двумерный массив типа Button. В...

Создание элементов textbox через button
Доброго времени суток! Хочу, чтобы при нажатии на кнопку создавалось определенное число текстбоксов...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.