读书人

DataBinding:“System.String”不包孕

发布时间: 2013-09-12 22:07:00 作者: rapoo

DataBinding:“System.String”不包含名为“TotalType”的属性。
筛选不重复类型作为数据源:
public List<string> GetTotallType()
{
SqlConnection conn =
new SqlConnection("data source=localhost;initial catalog=Supermarket;uid=sa;pwd=123456;");

conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "Select TotalType from GoodsTypeList";
SqlDataReader reader = cmd.ExecuteReader();

List<string> list = new List<string>();
while (reader.Read())
{
bool isTrue = false;
for (int i = 0; i < list.Count; i++)
{
if (reader["TotalType"].ToString() == list[i])
{
isTrue = true;
break;
}
}
if (isTrue == false)
{
list.Add(reader["TotalType"].ToString());
}
}
return list;

}

protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)


{
TotalType.DataSource = GetTotallType();
TotalType.DataBind();
}
}
就报如标题所示错误了。求大神解答。 数据源绑定??C#?
[解决办法]
while (reader.Read())
{
list.Add(reader["TotalType"].ToString());//直接这样加不就可以了。另外用reader[0].ToString();看看有没有值。
}
[解决办法]
试试把

TotalType.DataSource = GetTotallType();

改成

TotalType.DataSource = GetTotallType().Select(s=> new { TotalType=s }) ;
[解决办法]

引用:
Quote: 引用:

试试把

TotalType.DataSource = GetTotallType();

改成

TotalType.DataSource = GetTotallType().Select(s=> new { TotalType=s }) ;

正解,,.Select(s=> new { TotalType=s })此句该如何理解,好少见这种格式。

linq的写法,指定属性为TotalType。

读书人网 >C#

热点推荐