2017-02-23 12 views
1
/*data access layer */ 
public DataSet getdata(string procedurename, SqlParameter[] param) 
{ 
    try 
    { 
      SqlCommand command; 
      command = new SqlCommand(procedurename, connection); 
      command.CommandType = CommandType.StoredProcedure; 
      SqlDataAdapter adapter = new SqlDataAdapter(command); 
      DataSet set = new DataSet(); 
      if (param != null) 
      { 
      for (int i = 0; i < param.Length; i++) 
      { 
       command.Parameters.Add(param[i]); 
      } 
      } 
      adapter.Fill(set); 
      return set; 
     } 
     catch (Exception ex) 
     { 
      throw ex; 
     } 
     finally 
     { 
      closeConnection(); 
     } 
    } 

中間層:バインディングのDropDownList

public class dropdownbind 
    { 
     private string _itemName; 
     private int _itemvalue; 

     public int Itemvalue 
     { 
      get { return _itemvalue; } 
      set { _itemvalue = value; } 
     } 

     public string ItemName 
     { 
      get { return _itemName; } 
      set { _itemName = value; } 
     } 

     public List<dropdownbind> getDepartment() 
     { 
      DBlist obj = new DBlist(); 
      DataSet ds = obj.getdata("str_getdepartment",null); 
      List<dropdownbind> departments = new List<dropdownbind>(); 
      foreach (DataRow orow in ds.Tables[0].Rows) 
      { 
       dropdownbind dlist = new dropdownbind(); 
       dlist.ItemName = orow["deparment_name"].ToString(); 
       dlist.Itemvalue = int.Parse(orow["id"].ToString()); 
       departments.Add(dlist); 
      } 
      return departments; 
     } 
    } 

UI。 このコードは機能していません。テキストフィールドにmiddletier.dropdownbindと表示されます。

+0

私の答えを見る機会を得ましたか?それはあなたの問題を修正しましたか? –

答えて

0

は、次のようなDataTextField & DataValueFieldプロパティを修正する必要があります -

ddlEmpDepatment.DataValueField = "Itemvalue"; 
ddlEmpDepatment.DataTextField = "ItemName"; 

あなたはプロパティ名を指定しているが、むしろあなたがstringとしてプロパティ名を指定する必要があります。