我試圖找到正確的代碼隱藏以顯示列表框如果選擇了一個或多個某些複選框列表項目。該複選框列表是從實體數據源創建的,並且該源的SQL表還具有指示該選擇是否應顯示列表框的字段。呼!該表是這樣的:如果選中的複選框列表項在LINQ結果中,則顯示列表框
GUID grade_level show_college_list
(gen) 12 0 (bit)
(gen) College 1
的ASP是這樣的:
<asp:EntityDataSource ID="GradeLevelEntityDataSource" runat="server"
ConnectionString="name=NewCourseRequestDataEntities"
DefaultContainerName="NewCourseRequestDataEntities" EnableFlattening="False"
EntitySetName="grade_levels" OrderBy="it.grade_level_description">
</asp:EntityDataSource>
<asp:Label ID="Label7" cssClass="leftlabel" runat="server" text="Grade Level (check all that apply):"></asp:Label>
<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>
如果學院被選中,我想要的機構列表框面板應該顯示。 這是多遠,我已經得到的代碼:
if (sender != null)
{
foreach (ListItem grade in GradeLevelCheckBoxList.Items)
{
if (grade.Selected == true)
{
NewCourseRequestDataEntities context = new NewCourseRequestDataEntities();
var guids = from g in context.grade_levels where g.show_college_list == true select g;
if (guids.Contains(new Guid(grade.Value)))
{
testselected.Text = grade.Value; //for testing
CollegeInstitutionsSelectPanel.Visible = true;
}
}
}
}
我收到這2個錯誤contains方法。我不知道他們的意思。
錯誤1個實例參數:無法從 'System.Linq.IQueryable' 轉換爲 'System.Linq.ParallelQuery' Y:\的Visual Studio \新課程要求\ NewCourseRequestForm.aspx.cs 146 34新課程要求
錯誤2'System.Linq.IQueryable'不包含'Contains'的定義和最佳擴展方法重載'System.Linq.ParallelEnumerable.Contains(System.Linq.ParallelQuery,TSource)'有一些無效參數Y:\ visual studio \ New Course Request \ NewCourseRequestForm.aspx.cs 146 34新課程要求
任何人都可以幫忙嗎?
基於這些錯誤,有涉及更多的代碼。例如,我猜測有一個AsParallel()調用。你可以重現使用Linq到具有靜態數組的對象的行爲嗎? – neontapir
這個代碼示例中的方法是什麼? – TheGeekYouNeed