C# 如何在网格视图中添加选中项? List checkedItemList=subjectCheckBoxList.Items.Cast() .Where(c=>c.Selected).ToList(); subjectGridView.DataSource=checkedItemList;//引起异常 subjectGridView.DataBind();
我想在列表视图中查看具有主题ID和名称的选定项目。网格视图的项目是C# 如何在网格视图中添加选中项? List checkedItemList=subjectCheckBoxList.Items.Cast() .Where(c=>c.Selected).ToList(); subjectGridView.DataSource=checkedItemList;//引起异常 subjectGridView.DataBind();,c#,asp.net,entity-framework,C#,Asp.net,Entity Framework,我想在列表视图中查看具有主题ID和名称的选定项目。网格视图的项目是Model.Student类型。我的代码给出了一个例外。我该怎么办?对于GridView数据源,您需要包含Model.Student项的内容。如果每个列表项.Value的类型都是Model.Student,则可以使用: List<ListItem> checkedItemList = subjectCheckBoxList.Items.Cast<ListItem>()
Model.Student
类型。我的代码给出了一个例外。我该怎么办?对于GridView
数据源,您需要包含Model.Student
项的内容。如果每个列表项.Value
的类型都是Model.Student
,则可以使用:
List<ListItem> checkedItemList = subjectCheckBoxList.Items.Cast<ListItem>()
.Where(c => c.Selected).ToList();
subjectGridView.DataSource = checkedItemList; // causes exception
subjectGridView.DataBind();
var checkedStudents=subjectCheckBoxList.Items.Cast()。其中(c=>c.Selected)
.Select(c=>(Model.Student)c.Value).ToList();
subjectGridView.DataSource=checkedStudents;
subjectGridView.DataBind();
var checkedItemList=subjectCheckBoxList.Items.Cast().Where(c=>c.Selected.ToList();
列表=新列表();
foreach(checkedItemList中的ListItem项)
{
Model.Subject asobject=新Model.Subject();
asobject.ID=int.Parse(item.Value);
AsObject.SubjectName=项.Text;
列表。添加(一个对象);
}
subjectGridView.DataSource=列表;
subjectGridView.DataBind();
例外情况是什么?您正在将网格中的项目强制转换为列表项目
,而不是模型。学生
@LosMonas,请您给他一个答案,因为我可以看出您在想:)如果我不强制转换为列表项目,c.选择是不可能的。即。它标记了如何将模型。学生
项添加到主题复选框列表
?您需要一些类型的集合Model.Student
才能添加为GridView
var checkedStudents = subjectCheckBoxList.Items.Cast<ListItem>().Where(c => c.Selected)
.Select(c => (Model.Student)c.Value).ToList();
subjectGridView.DataSource = checkedStudents;
subjectGridView.DataBind();
var checkedItemList = subjectCheckBoxList.Items.Cast<ListItem>().Where(c => c.Selected).ToList();
List<Model.Subject> list = new List<Model.Subject>();
foreach (ListItem item in checkedItemList)
{
Model.Subject aSubject = new Model.Subject();
aSubject.ID = int.Parse(item.Value);
aSubject.SubjectName = item.Text;
list.Add(aSubject);
}
subjectGridView.DataSource = list;
subjectGridView.DataBind();