将用户输入添加到列表,然后填充Gridview

本文关键字:然后 填充 Gridview 列表 用户 输入 添加 | 更新日期: 2023-09-27 18:13:32

我有一个三层应用程序(DAL, BBL, UI)BBL现在什么都不做,只是一个传递

我有一个网格视图,为了简单起见,一个文本框(TB)和一个下拉列表(DDL)。和两个提交按钮。

(我改变了我的自定义类对象。就这个例子而言)

First Submit按钮添加TB。文本,DDL。将SelectedValue添加到UI中的对象X。

BBL获取该对象X并将其添加到BBL中的List(X)中。

然后BBL应该用List(X)填充Gridview。(使用ajax部分页面加载)

第二个Submit应该将完整的List(X)发送到数据库。

我遇到的问题是,当我点击第一个提交(本地)我没有得到新的行只是保持写同一行。我错过了什么?

UI类 中的

   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;
    }

将用户输入添加到列表,然后填充Gridview

每次回发时,都要加载一个带有新(空)List的新BL。为了看到列表的增长,您需要将其保存在一个请求和下一个请求之间持续存在(不会消失)的地方。

我建议将List放在会话密钥中

Session["items"] = blogic.locallist;

,然后在回发时将其拉出并发送给第二个BL构造函数。这可能是最简单的方法,但并不总是正确的方法。

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