我有一个下拉列表,它是gridview中列的列表。我需要能够根据第一个下拉列表中列的选择来填充另一个下拉列表。我填充第一个DropDownList这样的:在Linq查询中使用DropDownList selecteditem
public void ddlColumnPopulate()
{
var gvColumns = GridView1.Columns;
var viewName = ((IDataSource)EntityDataSource1).GetViewNames().OfType<string>().First();
var view = (EntityDataSourceView)((IDataSource)EntityDataSource1).GetView(viewName);
var schema = view.GetViewSchema();
var dsColumns = schema.Columns;
var dvColumnsDict = gvColumns.OfType<BoundField>().ToDictionary(a => a.DataField);
foreach (DataColumn c in dsColumns)
{
//var li = new ListItem(string.Format("{0}: {1}", c.ColumnName, c.DataType), c.DataType.ToString());
var li = new ListItem(c.ColumnName, c.DataType.ToString());
ddlColumn.Items.Add(li);
}
}
我试图填充第二下拉列表这样的,但它不工作。我不确定你是否可以做这样的事情?
public void populatecolumn()
{
using (TestEntities dbContext = new TestEntities())
{
string col = ddlColumn.SelectedItem.ToString();
var a = (from b in dbContext.tbl_Batch
select col);
ddlData.DataSource = a;
ddlData.DataTextField = col;
ddlData.DataValueField = col;
DataBind();
ddlData.Items.Insert(0, new ListItem(String.Empty, String.Empty));
ddlData.SelectedIndex = 0;
}
}
我收到错误消息:DataBinding:'System.String'不包含名为'intBatchID'的属性。
我仍然收到相同的错误消息。 – hollyquinn
哪条线提出你的错误?在DataBind中? –
和a和col的内容是什么? –