我想用Repeater绑定输出数据:按照三层架构的做法,先弄了一个类:
public class ProductList:List<Product>
{
public ProductList() { }
}
然后在ProductManager中写了一个方法:ProductManager.GetList()返回 ProductList类型的数据。代码略。最后在页面程序中输出: protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ShowProdLists2();
}
} private void ShowProdLists2()
{
//bn mn,sn技术文献
ProductList myProdList = ProductManager.GetList("技术文献", "", "", 100); //myProdList 转换成 DataSet!
//晕死了,为什么要转换呢?
//直接将泛型索引器数据绑定到 DataSource中就可以了。
//DataSet DS = this.ConvertTODataSet(myProdList);
//repeaterProdList.DataSource = DS;
repeaterProdList.DataSource = myProdList ;// DS;
repeaterProdList.DataBind();
}
搞笑部分见加红注释。*囧问题出在:我不太清楚:Repeater.DataSource属性可以是哪些数据? IList DataTable ,DataSet,还有???
public class ProductList:List<Product>
{
public ProductList() { }
}
然后在ProductManager中写了一个方法:ProductManager.GetList()返回 ProductList类型的数据。代码略。最后在页面程序中输出: protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
ShowProdLists2();
}
} private void ShowProdLists2()
{
//bn mn,sn技术文献
ProductList myProdList = ProductManager.GetList("技术文献", "", "", 100); //myProdList 转换成 DataSet!
//晕死了,为什么要转换呢?
//直接将泛型索引器数据绑定到 DataSource中就可以了。
//DataSet DS = this.ConvertTODataSet(myProdList);
//repeaterProdList.DataSource = DS;
repeaterProdList.DataSource = myProdList ;// DS;
repeaterProdList.DataBind();
}
搞笑部分见加红注释。*囧问题出在:我不太清楚:Repeater.DataSource属性可以是哪些数据? IList DataTable ,DataSet,还有???
任何实现 IList 接口的组件
可以作为DataSource的有:DataReader
arraylist
DataSet
DataTable
2 , 3楼说的不一样,到底哪个对??
我的注释中: DataSet DS = this.ConvertTODataSet(myProdList);就是做这样的转换。
不过不是你说的反射等技术实现。就是一个foreach。可笑之处就在这,绑定数据源根本不需要转换啊