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

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

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

то s = tb1 
...
Рейтинг: 0 / 0
12.07.2006, 10:02
    #33846823
C...R...a...S...H
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
восстановить текст контрола после постбэка
:)
Так данный контрол не добавлен на страницу, как же ASP сгенерирует UniqueID----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
12.07.2006, 10:12
    #33846865
VovanDr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
восстановить текст контрола после постбэка
а ведь верно!
правда когда я его добавляю его искать совсем тяжко будет :)
...
Рейтинг: 0 / 0
12.07.2006, 10:15
    #33846883
C...R...a...S...H
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
восстановить текст контрола после постбэка
Request.Form[myTextBox.UniqueID] как писал Димон!----------------------------------------
Knowledge is P...O...w...E...R!
My site
...
Рейтинг: 0 / 0
12.07.2006, 10:41
    #33846998
VovanDr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
восстановить текст контрола после постбэка
да из реквэста то понятно, я имею ввиду искать его среди коллекций контролов на форме чтоб присвоить ему значение из реквеста
...
Рейтинг: 0 / 0
12.07.2006, 14:38
    #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
18.07.2006, 11:05
    #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
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / восстановить текст контрола после постбэка / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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