Здравствуйте, Kvazimodo, Вы писали:
K>Есть на форме некий TextBox multiline K>В PageLoad делаю присваивание K> K>Потом ручками добиваю еще несколько "фиговых строчек"
K>И нажимаю на кнопку Submit
K>В обработчике кнопки проверяю tb_Add_6.Text и там оказывается только "всякая фигня...", а "фиговые строчки" исчезли
K>Как их найти?
K>VS 2003 7.1.3008 K>C#
Сам же в PageLoad говоришь tb_Add_6.Text="всякая фигня..."
if (!IsPostBack)
{
tb_Add_6.Text="всякая фигня...";
}
Здравствуйте, Kvazimodo, Вы писали:
K>Виноват, забыл про постбэк.
K>Но НЕ помогло.
K>"всякая фигня..." так и остаётся.
K>Кстати, если "всякая фигня..." тождественно равна null K>то "другая фигня, вводимая пользователем" прекрасно запоминается.
ты null явно присваиваешь? или по умолчанию считаешь? видимо, при нажатии кнопки что-то переприсваивается.
Здравствуйте, Kvazimodo, Вы писали:
K>И нажимаю на кнопку Submit
K>В обработчике кнопки проверяю tb_Add_6.Text и там оказывается только "всякая фигня...", а "фиговые строчки" исчезли
K>Как их найти?
Это известный баг ASP.Net. Иногда в Page_Load некоторые свойства текстовых полей не доступны.
Обойти это можно лишь явной инициализацией значений TextBox'а в начале Page_Load'а. Например так:
Здравствуйте, vguzev, Вы писали:
V>Это известный баг ASP.Net.
Можно увидеть его описание где-нибудь? А то "мужики-то не знают!"
V>Иногда в Page_Load некоторые свойства текстовых полей не доступны.
При каких условиях? Как повторить? В чем причина такого поведения?
V>Надеюсь, поможет... сам когда-то пол дня потратил, пока выяснил в чём дело...
Так в чем было дело?
Здравствуйте, Gollum, Вы писали:
G>Здравствуйте, vguzev, Вы писали:
V>>Это известный баг ASP.Net. G>Можно увидеть его описание где-нибудь? А то "мужики-то не знают!"
V>>Иногда в Page_Load некоторые свойства текстовых полей не доступны. G>При каких условиях? Как повторить? В чем причина такого поведения?
Я не выяснял почему это происходит... просто потому, что быстро выяснил (с помощью дебагера), как это обойти
Тогда нам показалось, что это дефект MasterPages, который мы юзали в качестве темплейтной основы для нашего сайта...
Потом нашлись примеры, у которых были те же симптомы, хотя они и не юзали MasterPages... отсюда и вывод, что баг в ASP.Net...
V>>Надеюсь, поможет... сам когда-то пол дня потратил, пока выяснил в чём дело... G>Так в чем было дело?
Параметры нормально передавались в форму, но биндились к TextBox'ам только после Page_Load'а, т.е. они были доступны уже в обработчиках событий.
В принципе, это правильно с точки зрения идеологии ASP.Net — вся инициализация должна производиться в Page_Load,
а обработка событий (например, нажатия кнопки) должна производиться в обработчиках событий (как это ни банально
Здравствуйте, vguzev, Вы писали:
V>Я не выяснял почему это происходит... просто потому, что быстро выяснил (с помощью дебагера), как это обойти V>Тогда нам показалось, что это дефект MasterPages, который мы юзали в качестве темплейтной основы для нашего сайта... V>Потом нашлись примеры, у которых были те же симптомы, хотя они и не юзали MasterPages... отсюда и вывод, что баг в ASP.Net...
Я не согласен с такими выводами, и с поведением таким я не встречался. Если при каждой неожиданной работе аспнет говорить что это баг, так багов будет очень много.
V>Параметры нормально передавались в форму, но биндились к TextBox'ам только после Page_Load'а, т.е. они были доступны уже в обработчиках событий.
Очень странно, дерево контролов формируется до Page_Load, все должно быть инициализированно. Видимо, в консерватории надо что-то править.
Очень странно, дерево контролов формируется до Page_Load, все должно быть инициализированно. Видимо, в консерватории надо что-то править.
Вообщето не всегда, можно и в Page_Load и после
Если при предышем постбаке контрол был на пререндере и при текушей инициализации страницы он есть в Page_Load и имеет тот же ID его состояние будет восстановлено.
Здравствуйте, Евгений Веприков, Вы писали:
ЕВ>Вообщето не всегда, можно и в Page_Load и после
Естественно, я имел в виду статическое дерево.
ЕВ>P. S. Нет тут никакого бага, давайте весь код.
+1
По всей Смоленщине нет кокаина — это временный кризис сырья
Здравствуйте, vguzev, Вы писали:
V>Это известный баг ASP.Net. Иногда в Page_Load некоторые свойства текстовых полей не доступны. V>Обойти это можно лишь явной инициализацией значений TextBox'а в начале Page_Load'а. Например так: V>
Здравствуйте, Kvazimodo, Вы писали:
K>В чём причина выяснить не успел. K>В понедельник машину перегрузил и неприятности исчезли. K>
А какая операционка была? Случайно не XP?
Мне приходилось сталкиваться с такой ситуацией на XP:
После того как Web приложение поднялось, иногда факт того,
что исходный код приложения изменился и следует приложение перезапустить почему-то игнорировался.
В Вашем случае — первый вариант кода был с ошибкой (нет условия IsPostBack), исправленный вариант не загрузился.
(Самое сабой это только мое предположение)
Самый простой способ как это вылечить — убить рабочий процесс ASP.NET, он вроде aspnet_wp называется на XP.
На 2003 сервере с такой ситуацией не разу не сталкивался. На других операционнах не тестировал на предмет этого бага.
Здравствуйте, deviv, Вы писали:
D>Здравствуйте, Kvazimodo, Вы писали:
K>>В чём причина выяснить не успел. K>>В понедельник машину перегрузил и неприятности исчезли. K>>
D>А какая операционка была? Случайно не XP?
D>Мне приходилось сталкиваться с такой ситуацией на XP: D>После того как Web приложение поднялось, иногда факт того, D>что исходный код приложения изменился и следует приложение перезапустить почему-то игнорировался.
D>В Вашем случае — первый вариант кода был с ошибкой (нет условия IsPostBack), исправленный вариант не загрузился. D>(Самое сабой это только мое предположение)
D>Самый простой способ как это вылечить — убить рабочий процесс ASP.NET, он вроде aspnet_wp называется на XP.
D>На 2003 сервере с такой ситуацией не разу не сталкивался. На других операционнах не тестировал на предмет этого бага.
2000 Server.Перезагрузка помогла. Видимо причины теже, что и у Вас с XP