当我尝试从数据库中填充 DropDownList 时出现 DataRowView 问题
DataRowView issue when I try to Fill DropDownList from Database
Baglanti.FnkBaglan();
SqlCommand DropDown = new SqlCommand("SELECT * FROM [Yazar]", Baglanti.baglan);
SqlDataAdapter Adp = new SqlDataAdapter(DropDown);
DataSet ds = new DataSet();
Adp.Fill(ds);
DrpYazarSec.DataTextField = ds.Tables[0].Columns["Yazar_isim"].ToString() + " " + ds.Tables[0].Columns["Yazar_soyisim"].ToString();
DrpYazarSec.DataValueField = ds.Tables[0].Columns["YazarID"].ToString();
DrpYazarSec.DataSource = ds.Tables[0];
DrpYazarSec.DataBind();
我使用了这个代码但是出现了这个错误;附加信息:DataBinding:'System.Data.DataRowView' 不包含名为 Yazar_isim Yazar_soyisim 的属性。 ( 没有 Yazar_isim Yazar_soyisim )
问题是由这段代码引起的:
DrpYazarSec.DataTextField = ds.Tables[0].Columns["Yazar_isim"].ToString() + " " +
ds.Tables[0].Columns["Yazar_soyisim"].ToString();
您不能将文本绑定到多列,这是不可能的。
但是,您可以在查询中连接两列,例如:
SqlCommand DropDown = new SqlCommand("SELECT *,
[Yazar_isim] + ' ' + [Yazar_soyisim] AS [FullName]
FROM [Yazar]", Baglanti.baglan);
...
DrpYazarSec.DataTextField = "FullName";
DrpYazarSec.DataValueField = "YazarID";
...
Baglanti.FnkBaglan();
SqlCommand DropDown = new SqlCommand("SELECT * FROM [Yazar]", Baglanti.baglan);
SqlDataAdapter Adp = new SqlDataAdapter(DropDown);
DataSet ds = new DataSet();
Adp.Fill(ds);
DrpYazarSec.DataTextField = ds.Tables[0].Columns["Yazar_isim"].ToString() + " " + ds.Tables[0].Columns["Yazar_soyisim"].ToString();
DrpYazarSec.DataValueField = ds.Tables[0].Columns["YazarID"].ToString();
DrpYazarSec.DataSource = ds.Tables[0];
DrpYazarSec.DataBind();
我使用了这个代码但是出现了这个错误;附加信息:DataBinding:'System.Data.DataRowView' 不包含名为 Yazar_isim Yazar_soyisim 的属性。 ( 没有 Yazar_isim Yazar_soyisim )
问题是由这段代码引起的:
DrpYazarSec.DataTextField = ds.Tables[0].Columns["Yazar_isim"].ToString() + " " +
ds.Tables[0].Columns["Yazar_soyisim"].ToString();
您不能将文本绑定到多列,这是不可能的。
但是,您可以在查询中连接两列,例如:
SqlCommand DropDown = new SqlCommand("SELECT *,
[Yazar_isim] + ' ' + [Yazar_soyisim] AS [FullName]
FROM [Yazar]", Baglanti.baglan);
...
DrpYazarSec.DataTextField = "FullName";
DrpYazarSec.DataValueField = "YazarID";
...