![]() |
|
Модераторы: gambit |
![]()
|
|
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 2 Всего: 5 |
Я набираю в текстовом поле текст, щелкаю по кнопке. После перегрузки страницы, набранный текст в текстовом поле остается..... А как у Вас работает эта страница? |
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Pankon, это не ViewState. Текст TextBox передается через Post-запрос при постбэке и заносится в серверный объект при обработке события ProcessPostData.
Это сообщение отредактировал(а) Idsa - 19.6.2008, 20:33 |
|||
|
||||
| Pankon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 739 Регистрация: 2.6.2005 Репутация: 2 Всего: 5 |
||||
|
||||
| boris__ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 24.2.2008 Репутация: нет Всего: нет |
...можно спросить в продолжению темы
а как все такие сделать чтобы текст текстбокса не восстанавливался, а принимал только значение по умолчанию? |
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 7 Всего: 49 |
boris__, вручную очищать его его в PreRender.
|
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Слишком уж затратное решение. Я бы посоветовал воспользоваться паттерном "Redirect after Post": http://en.wikipedia.org/wiki/Post/Redirect/Get Суть в том, что после выполнения всех важный действия (того же обработчика щелчка по кнопке, например) мы делаем Redirect на эту же страницу (только на этот раз в заголовке не будет Post-данных, поэтому IsPostBack будет равен fаlse). Тогда все элементы управления примут значения из разметки. Вообще у этого паттерна немного другое предназначение, но в ASP.NET я иногда использую его именно в таком ключе. |
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 7 Всего: 49 |
Idsa, сбросить значение одного текстбокса - это затратно? А средиректить на ту же страницу, обработать 2 запроса вместо одного - это экономно? И значения остальных контролов (если они на странице потом появятся) при этом сохранятся магическим образом?
|
|||
|
||||
| Idsa |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2086 Регистрация: 5.12.2006 Где: Томск Репутация: 15 Всего: 62 |
Вряд ли на странице один текстбокс... Не спорю, что у этого способа есть недостатки. Тем не менее для обычного сайта сверхнагрузкой это не станет, но зато сэкономит время на разработку. Да и этот способ не будет вызывать проблем при добавлении новых контролов. А то ведь так можно и забыть дописать в PreRender очистку.
Я так понял, что нужно очистить значения всех контролов на значения по умолчаю. Просто сам сталкивался с такой ситуацией, поэтому так и понял. Автор нас рассудит. |
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 7 Всего: 49 |
Idsa, автор сам не знает чего хочет
Раз уж упомянул о "Redirect after Post" - рассказывай об особенностях в asp.net. Просто текстбоксы сами по-себе редко стоят. Если они часть FormView - то очистка всех контролов вообще сводится к одному вызову ChangeMode. Ну и вообще - кто знает что там у автора творится. Может настоящее приложение, а может - hello world - вывести текст в label и очистить text box. Так можно и редирект забыть дописать. Если уж рассказывать про редирект, то с примерами, и с оговоркой про try/catch. |
|||
|
||||
| boris__ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 24.2.2008 Репутация: нет Всего: нет |
ой, сколько ответов сразу
ситуация такая - на форме куча текстбоксов, и только один должен брать значение по умолчанию, а остальные должны восстанавливать значения из запроса спасибо за ответы, только второй способ чего- то я не понял...изучаю можно и еще один вопрос, какая будет начинка для пререндер protected void Page_PreRender(object sender, EventArgs e) { . . . } Это сообщение отредактировал(а) boris__ - 6.9.2008, 18:12 |
|||
|
||||
| boris__ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 24.2.2008 Репутация: нет Всего: нет |
ну вот не пойму я....когда обсуждается то, знает ли посетитель точно что ему надо или нет - то каждый эксперт вставляет свой осудительный комент обязательно.... а дальше отвечать на вопрос уже интереса нет никакого
|
|||
|
||||
| wotker |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 18.7.2006 Где: Ростов-на-Дону Репутация: 1 Всего: 5 |
--------------------
ICQ :: 347306684e-mail :: wotker[at]rambler[dot]ru |
||||
|
|||||
| boris__ |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 24.2.2008 Репутация: нет Всего: нет |
бррр.....не понял
мне нужно так чтобы текстбокс брал значение из aspx резметки можно конечно руками устанавливать, но я хотел чтобы у апликации был более профессиональный виде, т.е. чтобы можно было в VS в окне пропертис менять значение и всё |
|||
|
||||
| PashaPash |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1233 Регистрация: 3.1.2008 Репутация: 7 Всего: 49 |
Если коротко - то "разметки" после компиляции страницы не существует. Значение "из разметки" превращается в строчку textBox.Text = "значение из разметки" в сгенерированном для страницы Init. Поэтому сбросить значение контрола без его пересоздания не получится. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |