Con questo codice che usa la reflection puoi recuperare gli id delle radiobuttonlist senza dover istanziare la pagina.
var pageType = typeof(_Default); //Al posto di _Default metti il tipo della tua pagina aspx
var radioButtonListNames = pageType
.GetFields(BindingFlags.NonPublic | BindingFlags.Instance)
.Where(t => t.FieldType == typeof(RadioButtonList))
.Select(t => t.Name)
.ToList();
Comunque mi sembra tutto moooolto fragile perché così fai affidamento sul fatto che per ogni controllo esista un campo privato che si chiama come il suo id. Questi campi esistono grazie a codice generato automaticamente da Visual Studio, quindi sei in mano a lui. Se stai usando Visual Studio 2010 non è neanche detto che il codice qui sopra funzioni, io ho provato su VS 2017.
Nella pagina ho un certo numero di RadioButtonList i cui id sono uguali ai nomi dei campi della tabella oracle
Se devi generare dinamicamente delle query, dovresti costruirti una qualche struttura dati e salvarla o nel database o su un file di testo. In questo modo, sia la pagina che presenta i dati e sia quella che genera il report faranno affidamento su un qualcosa creato da te e su cui hai il perfetto controllo.
ciao,
Moreno