чтение значения формы элемента управления (TextBox) в ASP.Net - PullRequest
0 голосов
/ 20 октября 2011

Я хотел бы прочитать значение Form элемента управления (например, TextBox), то есть 'Request.Form["[Control_Name_Here]"].Проблема с использованием, скажем, TextBox.Text заключается в том, что, если вы установили его в Page_Load самостоятельно, вы не сможете вернуть «исходное значение», представленное в форме.

Как вы знаете,Asp.Net генерирует уникальный идентификатор / имя для элемента управления.Форма Request.Form основана на атрибуте name элемента управления.Каждый веб-элемент управления имеет свойство ClientID, однако это не соответствует имени.Кажется, что имя похоже на ClientID с $ вместо _.Есть ли способ легко получить значение из формы, не прибегая к необходимости заменить _ на $?

И это также должно учитывать другие соглашения об именах, потому что в Asp.Net вы также можете выбрать, чтобы идентификатор элемента управления генерировался статически, а не динамически.

Ответы [ 2 ]

1 голос
/ 20 октября 2011

Мне кажется, что вы ищете не свойство .ClientID, а свойство .UniqueID элемента управления.

См .: MSDN

Редактировать: Кроме того, есть ли причина, по которой вы всегда устанавливаете свойство .Text при загрузке страницы?Например, вместо этого проверьте свойство Page.IsPostBack и установите .Text, только если оно false?

0 голосов
/ 20 октября 2011

Я лично использую jquery, чтобы найти элемент управления, прочитать и установить значение

GetFormValue = function (idName) { var srchP = ' [id =' + idName + ']'; var ctrl = $ (srchP);

if (ctrl != null)
    return ctrl.val();
return null;

} поэтому предположим, что имя id в серверной части - txMytext и это будет ..... $ txMytext в клиенте и, вызывая GetFormValue ('txMytext') на стороне клиента, вы можете получить значение control

Не забудьте использовать библиотеку jquery

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