我有一个3层应用程序(DAL,BBL,UI) 目前BBL没有什么只是传球通过
我有一个网格视图,为简单起见,一个文本框(TB)和一个下拉列表(DDL)。 和两个提交按钮。
(我将自定义类更改为Object。仅用于此示例)
首先提交按钮添加TB.text& 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;
}
答案 0 :(得分:0)
每次回发时,您都会使用新的(空)List加载新的BL。要查看您的列表增长,您需要将其保存在一个请求与下一个请求之间持续(不会消失)的位置。
我建议将您的列表放入会话密钥
Session["items"] = blogic.locallist;
然后将其拉出并在回发时将其发送到第二个BL构造函数。这可能是最简单的,但并不总是正确的方法。