将arraylist绑定到gridview

时间:2011-04-20 13:29:02

标签: c# asp.net

你好吗

我将对象(书籍)添加到arraylist,因为我将它们添加到位于Web服务中的数据库中。我的想法是通过显然将它绑定到arraylist来在gridview(在deffault.aspx中)显示这些书。我的问题是gridview位于deffault.aspx,并且将书籍添加到arraylist的过程完全在不同的页面上,因此我似乎无法从gridview访问数据源programaticaaly。 有没有办法将arraylist数据绑定到gridview,即使它们是,就像在这种情况下位于不同的页面上一样?

亲切的问候

2 个答案:

答案 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的建议也很好。将业务逻辑分离到单独的项目几乎总是一个好主意。不过先试试这个。