Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: как сохранить состояние textbox?  (Прочитано 13580 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Okkkks
Помогающий

by
Offline Offline

« : 16-12-2010 10:57 » 

Ребят, помогите понять что происходит...
я наверное совсем дурак, но никак не могу понять почему не сохраняется состояние текстбокса...  Не понял

есть страница, на странице  находится gridview, к gridview добавляю поле TemplateFiled, в него помещаю текстбокс, задаю значение по умолчанию = 1(postBack=false, EnableViewState = true), запускаю и меняю значение в текстбоксе, страница перезагружается и в текстбоксе опять 1. Ставлю точно такой же текстбокс вне таблицы(просто на страницу) и там при изменении значения страница перезагружается. но значение остаётся введённое(изменённое).

вопрос наверное простой, но никак не могу догнать... Краснею
помогите разобраться... пожалуйста.... Краснею
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 16-12-2010 11:40 » 

ViewState тут ни причём. Дело в обработке PostBack. А своего кода ты не привёл.

Я в таких случаях работаю с данными через модель, а не через элементы управления. И модель сохраняю во ViewState или Session.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Okkkks
Помогающий

by
Offline Offline

« Ответ #2 : 17-12-2010 07:17 » 

ты не мог бы немного подробнее рассказать о модели?..
а постбэк обязательно проверю... сегодня уже наверное не получится =(
в понедельник отпишусь =)
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 17-12-2010 12:14 » 

Цитата: Okkkks
ты не мог бы немного подробнее рассказать о модели?..
Я уже рассказывал:
https://forum.shelek.ru/index.php/topic,23954.0.html

Цитата: Okkkks
а постбэк обязательно проверю... сегодня уже наверное не получится =(
Ты проигнорировал моё предложение выложить код обработки PostBack. Без кода поиск ошибок превращается в гадание на кофейной гуще. В такого рода обсуждениях я участвовать не буду.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Okkkks
Помогающий

by
Offline Offline

« Ответ #4 : 21-12-2010 07:27 » 

Dimka, прости, пожалуйста. У меня не было под рукой кода...
вот метод загрузки страницы:
Код:
 protected void Page_Load(object sender, EventArgs e)
        {
          
            DataSet dataSet = new DataSet();
            dataSet.Tables.Add();
            dataSet.Tables[0].Columns.Add("Name_Dish");
            dataSet.Tables[0].Columns.Add("Weighth");
            dataSet.Tables[0].Columns.Add("Price");

            //Cotegory.Zakaz - List<>

            foreach (var dish in  Cotegory.Zakaz)
            {
                dataSet.Tables[0].Rows.Add( dish.Name, dish.Weighth, dish.Price);
            }
            gvOrder.DataSource = dataSet;
            gvOrder.DataBind();  
            if (!IsPostBack)//если впервые грузится заполняем текстбоксы 1-ми
            {
              
                    foreach (TableRow item in gvOrder.Rows)
                    {
                        ((TextBox)item.Cells[1].FindControl("tbCount")).Text = "1";
                      
                    }
              
            }
          


        }

Подскажите когда лучше(в какой момент) прочитать значения текстбоксов(после изменения пользователем) и записать их в сессию?



Добавлено через 42 минуты и 40 секунд:
всё заработало =)) Спасибо всем за участие =)
если кому интересно нужно весь код(не так как у меня только часть) поместить в
if (!IsPostBack){}

ещё раз спасибо =))
« Последнее редактирование: 21-12-2010 09:01 от Okkkks » Записан
lapulya
Молодой специалист

ru
Offline Offline

« Ответ #5 : 24-12-2010 00:15 » 

Модель это совокупность правил и данных бизнес логики, именно эти данные и надо хранить в ViewState и сессии, а контролы это лишь html контейнеры (в данном случае) для отображения (отображение - ключевое слово), которые можно заменить другими при неизменной модели и логика приложения не изменится.

MVC - паттерн такой, смотри в ту сторону, суть будет ясна.

Эт я про модель, о которой Димка писал
Записан

С уважением Lapulya
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines