title: How to return DropDownList selections dynamically in ASP.NET?
body: <p>This is probably a simple question but I am developing a web app in C# with DropDownList.  Currently it is working for just one DropDownList.  But now that I modified the code so that number of DropDownLists that should appear is dynamic, it gives me error;</p>
  
  <blockquote>
    <p>"The name 'ddl' does not exist in the
    current context."</p>
  </blockquote>
  
  <p>The reason for this error is that there a multiple instances of 'ddl' = number of counters.  So how do I instead return more than one 'ddl'?  Like what return type should this method have instead?  And how do I return these values?</p>
  
  <p>Reason I need it dynamic is I need to create one DropDownList for each column in whatever Adventureworks table they select.</p>
  
  <pre><code>      private DropDownList CreateDropDownLists()
      {
          for (int counter = 0; counter &lt; NumberOfControls; counter++)
          {
              DropDownList ddl = new DropDownList();
              SqlDataReader dr2 = ADONET_methods.DisplayTableColumns(targettable);
              ddl.ID = "DropDownListID" + (counter + 1).ToString();
  
              int NumControls = targettable.Length;
              DataTable dt = new DataTable();
              dt.Load(dr2);
  
              ddl.DataValueField = "COLUMN_NAME";
              ddl.DataTextField = "COLUMN_NAME";
              ddl.DataSource = dt;
              ddl.ID = "DropDownListID 1";
              ddl.SelectedIndexChanged += new EventHandler(ddlList_SelectedIndexChanged);
              ddl.DataBind();
  
              ddl.AutoPostBack = true;
              ddl.EnableViewState = true; //Preserves View State info on Postbacks
              //ddlList.Style["position"] = "absolute";
              //ddl.Style["top"] = 80 + "px";
              //ddl.Style["left"] = 0 + "px";
              dr2.Close();
          }
          return ddl;
      }
  </code></pre>