Seguendo un suggerimento ho creato un metodo nella pagina cs per la creazione del controllo che mi serve in cui assegna un ID a seconda dei dati che inserisco:

codice:
public void CreaDdl(int Giorno, int Ora)     {         DropDownList ddl = new DropDownList();         ddl.ID = "ddlG" + Giorno + "O" + Ora;         DataValueField="NOME"         ddl.DataSourceID = "SqlDataSource4";         ddl.DataTextField = "NOME";         ddl.DataValueField = "NOME";     }
E nella pagina aspx ho inserito dove voglio attaccare il controllo:
codice:
<%       int Riga = 0;      int Colonna = 0;      Page.Controls.Add(CreaDdl(Riga, Colonna));      Riga++; Colonna++; %> .......... <%      Page.Controls.Add(CreaDdl(Riga, Colonna));      Riga++; Colonna++; %> ..........      <% Page.Controls.Add(CreaDdl(Riga, Colonna)); %>
Ma mi da degli errori:

Su Page: "La corrispondenza migliore del metodo di overload per 'System....' presenta alcuni argomenti non validi".
Su CreaDdl: "Impossibile convertire da void a System.Web.UI.Control"