我编写了一个类CatalogInfo如下:
public class CatalogInfo
{
private int id;
private string name;
public int ID
{
get { return id; }
set{id=value;}
}
public string Name
{
get { return name; }
set { name = value; }
}
public CatalogInfo() { }
}
然后又写了一个业务逻辑对象类Catalog,并通过GetAll()方法从数据表cataloginfo中提取信息,并返回一个泛型list<CatalogInfo>作为dropdownlist控件的数据源。现在我想让dropdownlist控件的datavaluefield属性绑定cataloginfo类的ID,datatextfield属性绑定cataloginfo类的name。
如果直接用:控件名.datasource=list<CatalogInfo>则dropdownlist控件会显示类名,不显示内容。请网友和高手指点指点。
如果你返回的泛型数据集没有问题,是不会出错的。
测试代码:
<asp:DropDownList ID="ddlTest" DataTextField="Name" DataValueField="ID" runat="server"></asp:DropDownList>
namespace DotNetBS.Web
{
public partial class Error : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<CatalogInfo> list = new List<CatalogInfo>();
CatalogInfo info = new CatalogInfo() { ID = 1, Name = "选项一" };
list.Add(info);
info = new CatalogInfo() { ID = 2, Name = "选项二" };
list.Add(info);
ddlTest.DataSource = list;
ddlTest.DataBind();
}
}
}
public class CatalogInfo
{
private int id;
private string name;
public int ID
{
get { return id; }
set { id = value; }
}
public string Name
{
get { return name; }
set { name = value; }
}
public CatalogInfo() { }
}
}