由于需要,做了下面的这个设计
.DataSource 可 赋值对象 实现 IList<> 接口的类
如
public class good
{
public userinfo user
{
get { return _user;}
set { _user = value; }
}
public good()
{}
public string _goodname;
public string goodname
{
get { return _goodname; }
set { _goodname = value; }
}
}
实现 接口以后照样可以赋值 ,不用dateset
IList<good> sg=new List<good>();
good g=new good();
g.goodname="goodname1";
sg.Add(g);
good g2=new good();
g2.goodname="goodname2";
sg.Add(g2);
this.Repeater1.DataSource=sg;
this.Repeater1.DataBind();
还可以支持套嵌类
public class userinfo
{
public userinfo()
{ }
public string Id;
public string _name;
public string name
{
get { return _name; }
set { _name = value; }
}
}
public class good
{
public userinfo _user=new userinfo();
public userinfo user
{
get { return _user;}
set { _user = value; }
}
public good()
{}
public string _goodname;
public string goodname
{
get { return _goodname; }
set { _goodname = value; }
}
}
IList<good> sg=new List<good>();
good g=new good();
g.goodname="goodname1";
g.user.name="name1";
sg.Add(g);
good g2=new good();
g2.goodname="goodname2";
g2.user.name="name2";
sg.Add(g2);
this.Repeater1.DataSource=sg;
this.Repeater1.DataBind();
这样 只要在 Repeater1 模板中用的时候 ,变化一下就可以了 user.name (方便啊 )
<ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"goodname" )%> +<%# DataBinder.Eval(Container.DataItem,"user.name" )%> <br />
</ItemTemplate>