我将对象(书籍)添加到arraylist,因为我将它们添加到位于Web服务中的数据库中。我的想法是通过显然将它绑定到arraylist来在gridview(在deffault.aspx中)显示这些书。我的问题是gridview位于deffault.aspx,并且将书籍添加到arraylist的过程完全在不同的页面上,因此我似乎无法从gridview访问数据源programaticaaly。 有没有办法将arraylist数据绑定到gridview,即使它们是,就像在这种情况下位于不同的页面上一样?
亲切的问候
答案 0 :(得分:1)
我认为你需要重构一下。获取负责操作arraylists和books的所有代码,并将其放入某种业务逻辑层,可以从任何页面访问。
答案 1 :(得分:1)
在您的网站中制作新的.cs文件。如果您正在运行旧式网站,请将其放在App_Code文件夹中,否则您可以将其放在任何子文件夹中: Books.cs
public class Books {
public static ArrayList GetBooks() {
return new ArrayList() { "Book1","Book2","Book3"};
}
}
然后,在您的aspx页面代码隐藏中,您可以将gridview绑定到这个新方法:
protected void Page_Load() {
GridView1.DataSource = Books.GetBooks();
GridView1.DataBind();
}
Adam Rackis的建议也很好。将业务逻辑分离到单独的项目几乎总是一个好主意。不过先试试这个。