2017-02-23 2 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(); 
     } 
    } 

Middle Tier:Binding Dropdownlist mit generischer Liste in 3-Tier-Architektur

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: -

protected void BindDdlList() 
    { 
     dropdownbind dlist = new dropdownbind(); 
     List<dropdownbind> departments = dlist.getDepartment(); 
     ddlEmpDepatment.DataSource = departments; 
     ddlEmpDepatment.DataTextField = dlist.ItemName; 
     ddlEmpDepatment.DataValueField = dlist.Itemvalue.ToString(); 
     ddlEmpDepatment.DataBind(); 

    } 

Ich versuche Abteilungen zu binden, 3-Tier-Architektur zu Dropdownlist verwenden. aber dieser Code funktioniert nicht, es zeigt middletier.dropdownbind im Textfeld.

+0

Haben Sie die Chance, meine Antwort zu sehen? Hat das dein Problem behoben? –

Antwort

0

Sie müssen die DataTextField & DataValueField Eigenschaften wie folgt korrigieren: -

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

Sie sind unter Angabe der Eigenschaft Name eher Sie den Namen der Eigenschaft als string angeben müssen.

Verwandte Themen