TextBox теряет значения при обратной передаче? - PullRequest
3 голосов
/ 01 марта 2012

У меня есть страница asp.net (Форма = сервер runat)

2 текстовых поля:

<input type="text" id="tb1" />
<asp:TextBox ID="tb2" runat="server" />

и кнопка отправки.

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

Я думал, что значения полей ввода передаются от клиента к серверу и обратно всегда!

в каком событии(в жизненном цикле страницы) Tb1 теряет свое значение?

Ответы [ 3 ]

4 голосов
/ 01 марта 2012

<input type="text" id="tb1" /> - это буквальный HTML.
Нет серверного кода, который бы возвращал значение обратно.

Эта функция является частью серверных элементов управления.

2 голосов
/ 01 марта 2012

POST будет содержать информацию, введенную в tb1 - поэтому ее можно прочитать из запроса

, если вы измените ее на

<input type="text" id="tb1"  runat="server" /> 

, она будет работать так, как вы хотите.

без сервера runat = он не «теряет» свое значение - он никогда не будет заполнен - ​​никогда, потому что это просто данные в POST и не подключены к серверному элементу управления.

один последнийТочка - чтобы явно ответить на некоторые ваши комментарии - данные POST обрабатываются непосредственно перед событием PreLoad - это можно найти в http://msdn.microsoft.com/en-us/library/ms178472.aspx

1 голос
/ 01 марта 2012

tb1 это не серверный элемент управления, это обычный объект html dom.

Однако вы должны найти его значение после записи в коллекции значений Request.Form.

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