Добавление пользовательского ввода в список, затем заполнение Gridview - PullRequest
0 голосов
/ 02 ноября 2011

У меня есть 3-уровневое приложение (DAL, BBL, UI). В настоящий момент BBL ничего не делает.

У меня есть сеточное представление и для простоты одно текстовое поле (ТБ) и одновыпадающий список (DDL).и две кнопки отправки.

(я изменил свой пользовательский класс на Object. Только для этого примера)

Кнопка First Submit добавляет TB.text & DDL.SelectedValue к объекту X в пользовательском интерфейсе.

BBL использует этот объект X, чтобы добавить его в список (X) в BBL.

Затем BBL должен заполнить Gridview списком (X).(с частичной загрузкой страницы ajax)

при втором отправлении должен быть отправлен полный список (X) в базу данных.

Проблема, с которой я сталкиваюсь, заключается в том, что при нажатии на первую кнопку Отправить (локальную) яне получайте новые строки, просто продолжайте писать одну и ту же строку.что я пропускаю?

в классе пользовательского интерфейса

   private businesslogic blogic = new businesslogic();

   protected void B1_local_Click(object sender, EventArgs e)
    {

        object x = new object();
        x.id = Convert.ToInt32(TB_1.Text);
        x.var1 = Convert.ToInt32(DDL_1.SelectedValue);

        blogic.addrowtolist(x);

        Gridview1.DataSource = blogic.grablist();
        Gridview1.Databind();

     }

в классе BBL

    public List<object> locallist = new List<object>();
    public void addrowtolist(object x)
    {
       locallist.Add(x);

    }
    public List<object> grablist()
    {
     return locallist;
    }

1 Ответ

0 голосов
/ 02 ноября 2011

При каждой обратной передаче вы загружаете новый BL с новым (пустым) списком. Чтобы увидеть рост вашего Списка, вам нужно сохранить его где-то, что сохраняется (не исчезает) между одним запросом и следующим.

Я бы порекомендовал поместить ваш список в ключ сеанса

Session["items"] = blogic.locallist;

, а затем вытащить его и отправить во второй BL конструктор при обратной передаче. Это, вероятно, самый простой, но не всегда правильный подход.

http://msdn.microsoft.com/en-us/library/z1hkazw7.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...