Как получить данные из tablecell ASP.NET

Когда я загружаю страницу, я отправляю количество строк в таблице:

protected void Page_Load(object sender, EventArgs e)
{
    string numFilas = Request.QueryString["filas"];
    tblAdd.Visible = true;
    for (int i = 0; i < int.Parse(numFilas); i++)
    {
        TableRow NewRow1 = new TableRow();
        TableCell NewCell1 = new TableCell();
        TableCell NewCell2 = new TableCell();

        TextBox txtBox1 = new TextBox();
        txtBox1.Width = 200;
        TextBox txtBox2 = new TextBox();
        txtBox2.Width = 200;
        // adding lebel into cell
        NewCell1.Controls.Add(txtBox1);
        NewCell2.Controls.Add(txtBox2);
        // adding cells to row
        NewRow1.Cells.Add(NewCell1);
        NewRow1.Cells.Add(NewCell2);

        tblAdd.Rows.Add(NewRow1);
    }
}

теперь, когда я нажимаю кнопку "Отправить", я хотел бы получить данные текстового поля внутри таблицы, на что я был способен:

  public void submit(Object sender, EventArgs e)
{
    for (Int32 i = 0; i < tblAdd.Rows.Count; i++)
    {
        TableRow dr = tblAdd.Rows[i];
        TableCell hhh = dr.Cells[0];
        String textCell = hhh.Text();

    }
}

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


person Diego Rivera    schedule 29.09.2014    source источник
comment
Подумайте о том, чтобы прочитать любую статью/вопрос о получении значений из динамически добавляемых элементов управления, таких как stackoverflow.com/questions/17581616/ . Боковое примечание: проверьте, является ли тег asp-classic (pre .Net framework) правильным.   -  person Alexei Levenkov    schedule 29.09.2014
comment
Это не имеет ничего общего с asp-classic. Пожалуйста, узнайте разницу.   -  person Paul    schedule 29.09.2014


Ответы (1)


Попробуй это

  1. При создании текстовых полей добавьте идентификатор

E.g.

txtBox1.ID = "txtBox1";
  1. Затем вы можете легко найти этот элемент управления TextBox в текущей коллекции элементов управления Cell следующим образом.

    строка textCell = ((TextBox)dr.Cells[0].FindControl("txtBox1")).Text;

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

Проголосуйте и примите ответ, если он решил вашу проблему.

Ваше здоровье!

person Sam    schedule 29.09.2014
comment
Привет, если этот ответ был полезен, пожалуйста, проголосуйте и примите его. Ваше здоровье! - person Sam; 10.12.2014