Используя C #, как я могу прочитать содержимое динамически создаваемых текстовых полей? - PullRequest
2 голосов
/ 21 декабря 2010

Hy,

Я создал несколько динамических текстовых полей со стандартным содержимым.

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

Большое спасибо.

Джефф

Обновление

Вот как я создаю текстовые поля:

foreach (string name in listOfNames)
{
   TextBox tb = new TextBox();
   tb.Text = name;
   tb.BorderStyle = BorderStyle.None;
   tb.BorderWidth = 0;
   tb.Font.Name = "Arial";
   tb.Font.Size = 8;
}

Ответы [ 4 ]

3 голосов
/ 21 декабря 2010

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

WinForms / WPF / Silverlight

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

ASP.NET - После обновления тега этот раздел наиболее соответствует вашим требованиям.

Для ASP.NET вам нужно будет создать текстовые поля в переопределении метода OnInit, это должно происходить при каждой обратной передаче. Затем в событии Button.Click вы можете прочитать пользовательский ввод из текстовых полей, которые вы создали в функции OnInit. Вы должны убедиться, что элементы управления созданы с одинаковыми ID на каждой обратной записи.

2 голосов
/ 21 декабря 2010

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

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

Лучшим местом для создания динамических элементов управления является обработчик событий страницы Init.

Предлагаю прочитать о жизненном цикле страницы ASP.NET .


Обновление (следующий обновленный вопрос)

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

Я также не вижу, куда вы добавляете эти элементы управления на страницу.

0 голосов
/ 21 декабря 2010

Вы должны иметь доступ к ним, как к обычному элементу управления, вам просто нужно получить ссылку на элемент управления.Не забудьте заново создать все элементы управления для каждой обратной передачи.

this - полезная статья о динамических элементах управления в asp.net

0 голосов
/ 21 декабря 2010

Request.Form - это набор пар ключ-значение, представляющий все данные, возвращаемые из запроса ASP.NET.Если у вас есть доступ к нему, вы можете получить любое значение, независимо от того, задан ли его элемент управления в коде ASPX или динамически создан в файле, стоящем за кодом.

Вы также можете автоматически вернуть их значения обратно в них, если заново создадите ихНачальная часть жизненного цикла страницы.Если вы сделаете это, их значения будут установлены, когда ASP.NET воссоздает состояние страницы и применяет значения из формы.

...