Я хочу использовать анонимный тип в качестве источника для GridView. Но сначала он будет отфильтрован, используя раскрывающийся список. Поясню: я типа I определяется следующим образом:Использование анонимного типа в Gridview
IEnumerable<object> data = new[]{
new{Name="McClure Wallace", Id=1, Sal=10000d, Age=29},
new{Name="John Jones", Id=2, Sal=12000d, Age=27},
new{Name="Gloria Flowhart", Id=3,Sal=14000d, Age=21}
. . .
};
Я использую это в качестве источника к DropDownList:
ddlEmployee.DataSource=data;
ddlEmployee.DataTextField = "Name";
ddlEmployee.DataValueField = "Id";
ddlEmployee.DataBind();
Когда пользователь выбирает элемент из списка Я хочу, чтобы получить соответствующий объект и связать его в Gridview:
var sel = ddlEmployee.SelectedItem.ToString();
var selData = from d in data where **d.Id= sel** select d;
gvSearchResults.DataSource = selData;
gvSearchResults.DataBind();
Но проблема в том, что, так как я доберусь д как объект, он выдает ошибку на d.Id.
Как это исправить. Обратите внимание, что я не могу изменить определение «данных», так как это контролируется вне приложения. Я просто показываю здесь для ясности.
Возможный дубликат [Доступ к объектам анонимного типа C#] (http://stackoverflow.com/questions/713521/accessing-c-sharp-anonymous-type-objects) – nawfal