Функция запроса возвращает Null в Firefox / Chrome

#asp.net #vb.net

#asp.net #vb.net

Вопрос:

У меня есть несколько элементов формы, которые я динамически создаю с помощью javascript, когда пользователь изменяет числовое значение в текстовом поле, заполняя innerHTML div следующим образом:

 dfinnerhtml = dfinnerhtml    "<div class='field'> ";
dfinnerhtml = dfinnerhtml    "<textarea name='textbox1"   suffix   "' type='text' id='textbox1"   suffix   "' value='' rows='4' cols='20' class='field'></textarea> ";
dfinnerhtml = dfinnerhtml    "</div> ";
  

Затем, в коде aspx.vb, когда пользователь нажимает кнопку Сохранить, я выполняю серию запросов, чтобы попытаться добавить значения, которые находятся в этих элементах формы, в строку SQL:

 Dim DFTestValue1 As String
DFTestValue1 = Request("textbox" amp; c.ToString)
  

где c — счетчик цикла для числа созданных текстовых полей (упомянутое выше входное значение, которое запускает создание)

Проблема здесь в том, что этот код работает в Internet Explorer, но не в Firefox или Chrome. Значение Request() возвращает null, и ничего не сохраняется. Надеюсь, я объяснил это достаточно хорошо.

Комментарии:

1. Вы запускали ее в отладчике и останавливались на строке запроса, чтобы посмотреть, что доступно? Запрос — это гораздо больше, чем просто функция…

2. Структура проекта не позволяет мне использовать фактический отладчик, но я попытался использовать FindControl для доступа к тому же объекту, и ему не удается найти элемент управления или родительский элемент управления.

Ответ №1:

Вероятно, в этом сообщении есть ответ:

http://forums.asp.net/t/1235816.aspx

Попробуйте предыдущее свойство Page:

 protected void Page_Load(object sender, EventArgs e)
{
    if (PreviousPage != null)
    {
        TextBox pTextBox = (TextBox)PreviousPage.FindControl("TextBox1");
        Response.Write("Previous Page TextBox: "   pTextBox.Text);
    }
}
  

Ответ №2:

Для всех, кому интересно знать, проблема заключалась в том, что случайный тег закрыл div, который предшествовал тегу. Internet Explorer, похоже, не заботился и считал элементы за пределами этого пункта как часть формы.