2013-01-17 18 views
0

我試圖填充DropDownlist,但它似乎並沒有填充,我不知道爲什麼它不是。我能否得到第二雙眼睛來幫助我弄清楚我的錯在哪裏? 以下是我的代碼:試圖通過LINQ到C中的實體填充下拉列表#

private testhousingEntities1 canceldb = new testhousingEntities1(); 
    /*=================================================*/ 
    /*load form          */ 
    /*=================================================*/ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!Page.IsPostBack) 
     { 
      InitializeForm(); 
     }   
    } 

    /*================================================*/ 
    /*            */ 
    /*================================================*/ 
    private void InitializeForm() 
    { 
     var version = (from v in canceldb.CancellationVersions 
         where v.Active 
         select v).FirstOrDefault(); 

     /*populating states and countries drop downlist */ 
     FormHelpers.GenerateStates(ddlState); 
     FormHelpers.GenerateCountries(ddlCountry); 

     /*populating drop downlist */ 
     semesterList();    
    } 

    /*=================================================*/ 
    /*populating the Semester drop downlist   */ 
    /*=================================================*/ 
    private void semesterList() 
    { 
     ddlSemester.Items.Insert(0, new ListItem("---------", "000")); 

     var semester = from s in canceldb.cancellationsemesters 
         select new {         
            cid= s.id, cSemester = s.Semester,       
            }; 
     ddlSemester.DataSource = semester; 
     ddlSemester.DataTextField = "cSemester"; 
     ddlSemester.DataValueField = "cid"; 
     ddlSemester.DataBind(); 
    } 

    /*=================================================*/ 
    /*populating the Semester drop downlist   */ 
    /*=================================================*/ 
    protected void ddlSemester_SelectedIndexChanged(object sender, EventArgs e) 
    {    
     if (!IsPostBack) 
     { 
      semesterList();     
     } 
    } 

回答

1

嘗試添加一個ToList();

ddlSemester.DataSource = semester.ToList(); 
+0

這沒有做任何事情。它拿出了「-----」作爲實際列表中的第一項。但是名單仍然是空的 – Paradigm

+0

試着把它分解成一個類。 {cid = s.id,cSemester = s.Semester} 它可能不喜歡綁定到匿名類。 – user959729

+1

匿名對象在這種情況下是正確的。見例如http://brandonatkinson.blogspot.cz/2011/03/populating-aspnet-dropdownlist-control.html – mipe34