2014-02-12 108 views
0

我正在練習MVC 4 Razor,我想在Dropdownlist中顯示列表數據,我嘗試了很多選項,但我無法填充數據,我正在使用WCF服務 我試過使用List和IEnum我在控制,但如何在下拉list.I顯示數據能夠獲取數據已粘貼在這裏我的代碼下拉列表中的數據綁定

public List<Employee> GetEmployeeList() 
    { 
     List<Employee> lstEmp = new List<Employee>(); 
     try 
     { 
      sqlConn = new SqlConnection(strConn); 
      sqlConn.Open(); 
      query = "select ID,FirstName from Employee"; 
      sqlcmd = new SqlCommand(query, sqlConn); 
      SqlDataReader dr = sqlcmd.ExecuteReader();     
      if (dr.HasRows) 
      { 
       Employee objHeader = new Employee(); 
       objHeader._ID = 0; 
       objHeader._FirstName = "Select Employee"; 
       lstEmp.Add(objHeader);      
       while(dr.Read()) 
       { 
        Employee objemp = new Employee(); 
        objemp._ID = (int)dr["ID"]; 
        objemp._FirstName = dr["FirstName"].ToString(); 
        lstEmp.Add(objemp); 
       } 

      } 
      else 
      { 
       Employee objNo =new Employee(); 
       objNo._ID = 0; 
       objNo._FirstName = "No Records Found"; 
       lstEmp.Add(objNo); 
      } 
     } 
     catch(Exception err) 
     { 

     } 
     sqlcmd.Dispose(); 
     sqlConn.Close(); 
     return lstEmp; 
    } 

    public ViewResult Crud() 
    { 
     pxy.Open(); 
     emplist = pxy.GetEmployeeList().ToList();   
     IEnumerable<Employee> empEnum = emplist;    
     ViewData["lstEmp"] = new SelectList(empEnum); 
     pxy.Close();    
     return View(); 
    } 
    @Html.DropDownList("Employee", ViewData["lstEmp"] as SelectList) 

請幫助我。

+0

由於它worked.In查看我沒沒有改變它。 – user3049450

+0

您能否將其標記爲答案..如果它適合您,..將其標記爲答案..在問題的左側標記正確的標記以便其他人也可以使用 –

回答

0

您可以使用下面的語法:

var dorpdownData=empEnum.Select(c=>new{c.key,c.value}); 
viewdata["lstEmp"]=new selectlist(dropdowndata.asEnumerable(),"key","value"); 

然後在您的視圖:

@Html.DropDownList("Employee", (selectlist)ViewData["lstEmp"]) 

希望這有助於..