powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / восстановить текст контрола после постбэка
11 сообщений из 11, страница 1 из 1
восстановить текст контрола после постбэка
    #33845271
VovanDr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть некоторая иерархия вложеных друг в друга контролов. на самом ее дне лежит текстбокс. проблема в том что при постбэке его значение теряеться тк он каждый раз пересоздаеться.
можно ли как нибудь простым и доступным способом восстановить его значение (сразу скажу что с viewstate ни разу не работал), а то ловить это все через коллекцию Forms уж очень извратно и долго получаеться
...
Рейтинг: 0 / 0
восстановить текст контрола после постбэка
    #33845998
Dimon aka Manowar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
И почему это извратно?
Request.Form[myTextBox.UniqueID]

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
восстановить текст контрола после постбэка
    #33846715
VovanDr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так не сработало изза айдишника который асп пихает перед указаным, но проблема решена

string clientID="";
foreach (string s in ug.Page.Request.Form.AllKeys)
      if (s.IndexOf(c.UniqueID) != -1) clientID = s;
...
Рейтинг: 0 / 0
восстановить текст контрола после постбэка
    #33846794
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так ведь UniqueID возвращает генерируемый ASP.NET уникальный ID----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
восстановить текст контрола после постбэка
    #33846817
VovanDr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я тоже так думал пока в дебаге не посмотрел
если писать
myTextBox.ID = "tb1";
s=myTextBox.UniqueID;

то s = tb1 
...
Рейтинг: 0 / 0
восстановить текст контрола после постбэка
    #33846823
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
:)
Так данный контрол не добавлен на страницу, как же ASP сгенерирует UniqueID----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
восстановить текст контрола после постбэка
    #33846865
VovanDr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а ведь верно!
правда когда я его добавляю его искать совсем тяжко будет :)
...
Рейтинг: 0 / 0
восстановить текст контрола после постбэка
    #33846883
C...R...a...S...H
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Request.Form[myTextBox.UniqueID] как писал Димон!----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
восстановить текст контрола после постбэка
    #33846998
VovanDr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да из реквэста то понятно, я имею ввиду искать его среди коллекций контролов на форме чтоб присвоить ему значение из реквеста
...
Рейтинг: 0 / 0
восстановить текст контрола после постбэка
    #33848189
Dimon aka Manowar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем его искать? Тыж его в динамике добавляешь?

MyTB = new TextBox()
MyTB.ID = "tbID";
parentControl.Controls.Add(MyTB);
MyTB.Text = Request.Form[MyTB.UniqueID];

и вообще если ты пишешь этот код до окончания обработки Page_Init, то он сам подхватит значение из Request.Form

Многие вещи нам непонятны не оттого, что наши понятия слабы, а оттого, что данные вещи не входят в круг наших понятий.
...
Рейтинг: 0 / 0
восстановить текст контрола после постбэка
    #33859986
Spaider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, VovanDr, Вы писали:

VD>я тоже так думал пока в дебаге не посмотрел
VD>если писать
VD>myTextBox.ID = "tb1";
VD>s=myTextBox.UniqueID;

Еще надо было посмотреть, как же этот самый UniqueID получается :)

public virtual string get_UniqueID()
{
      if (this._cachedUniqueID == null)
      {
            if (this._namingContainer == null)
            {
                  return this._id;
            }
            if (this._id == null)
            {
                  this.GenerateAutomaticID();
            }
            if (this._page == this._namingContainer)
            {
                  this._cachedUniqueID = this._id;
            }
            else
            {
                  string text1 = this._namingContainer.GetUniqueIDPrefix();
                  if (text1.Length == 0)
                  {
                        return this._id;
                  }
                  this._cachedUniqueID = this._namingContainer.GetUniqueIDPrefix() + this._id;
            }
      }
      return this._cachedUniqueID;
}... << RSDN@Home 1.2.0 alpha rev. 650>>
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / восстановить текст контрола после постбэка
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]