C# 使用FindByValue从查询填充复选框列表
我有一个asp.net chckebox列表:C# 使用FindByValue从查询填充复选框列表,c#,asp.net,checkboxlist,C#,Asp.net,Checkboxlist,我有一个asp.net chckebox列表: <asp:EntityDataSource ID="GradeLevelEntityDataSource" runat="server" ConnectionString="name=NewCourseRequestDataEntities" DefaultContainerName="NewCourseRequestDataEntities" EnableFlattenin
<asp:EntityDataSource ID="GradeLevelEntityDataSource" runat="server"
ConnectionString="name=NewCourseRequestDataEntities"
DefaultContainerName="NewCourseRequestDataEntities" EnableFlattening="False"
EntitySetName="grade_levels" OrderBy="it.grade_level_index">
</asp:EntityDataSource>
<asp:CheckBoxList ID="GradeLevelCheckBoxList" runat="server" cssClass="horizontalcontrols"
DataSourceID="GradeLevelEntityDataSource"
DataTextField="grade_level_description" DataValueField="grade_level_id" AutoPostBack="True"
OnSelectedIndexChanged="CollegeInstitutionsListboxChange"
RepeatDirection="Horizontal" RepeatLayout="Flow">
</asp:CheckBoxList>
代码r.grade\u level\u id.ToString()的部分确实返回了正确的GUID,类型为String。但是,ListItem等级仍然为空,因此没有检查任何GradeLevelCheckboxList。
我遗漏了什么?如果项目的
文本
和值
不同,请确保列表框
项目的值
属性具有正确的值
另外,
Value
属性和grade\u level\u id
大小写完全相同,并带有修剪过的空格。我认为当您尝试使用Items访问数据时,数据尚未绑定。FindByValue(),请尝试调用
grades.DataBind();
在foreach循环之前。您可以向我们展示绑定它的代码吗?@user您在哪种情况下放置了foreach循环?grades.DataBind()是解决方案。非常感谢。
grades.DataBind();