我的数据库中有4个对象,例如zen,maruthi和scorpio ..在将值绑定到下拉列表后,我只能看到天蝎座重复3次..
而不是将其作为
zen
maruthi
scorpio
..我得到了天蝎座
scorpio
scorpio..
代码
List<Cab> CabTypeList = new List<Cab>();
using (DataTable table = SqlDBConnector.ExecuteSelectCommand("GetCabType", CommandType.StoredProcedure))
{
//check if any record exist or not
if (table.Rows.Count > 0)
{
//Lets go ahead and create the list of cab
foreach (DataRow row in table.Rows)
{
cab.CabType = row["CabType"].ToString();
cab.CabId = Convert.ToInt32(row["Cab_Id"]);
CabTypeList.Add(cab);
}
}
}
ASPX页面
if (!IsPostBack)
{
CabDbAccess cabdbaccess = new CabDbAccess();
DropDownList1.DataSource = cabdbaccess.GetCabType();
DropDownList1.DataTextField = "CabType"; // the items to be displayed in the list items
DropDownList1.DataValueField = "CabId"; // the id of the items displayed
DropDownList1.DataBind();
}
答案 0 :(得分:2)
cab
来自哪里?确保在foreach
循环中添加新项目。
public List<Cab> GetCabType()
{
List<Cab> CabTypeList = new List<Cab>();
// to do : get your data in the data table.
foreach (DataRow row in table.Rows)
{
var cab= new Cab();
cab.CabType = row["CabType"].ToString();
cab.CabId = Convert.ToInt32(row["Cab_Id"]);
CabTypeList.Add(cab);
}
return CabTypeList;
}
答案 1 :(得分:0)
无论cab
是什么,您都要添加三次。您最终在列表中有三个项目都是同一个对象。您可能希望在循环顶部添加Cab cab = new Cab();
之类的内容。然后你每次都会添加一个不同的。