Passei os últimos 40 minutos tentando resolver esse erro aqui: “Both DataSource and DataSourceID are defined on ‘ddlIdioma'”, então achei válido colocar uma explicação do que acontece aqui pra não esquecer nunca mais.
No arquivo .ascx exite um objeto que é uma DropDownList. Nesse objeto eu vou setar o DataSourceID, que deve ser o mesmo ID do ObjectDataSource definido posteriormente. Nesse ObjectDataSource eu coloco qual deve ser a classe dos objetos que vão preencher a lista e qual é o método (dessa classe) que deve ser chamado que me retorna a lista que eu quero pra essa DDL. Dessa maneira, é absolutamente desnecessário que eu acesse o atributo DataSource do meu objeto (DropDownList) em qualquer lugar do meu .cs. Caso isso seja feito, o erro acima é gerado, pois estarei setando a mesma coisa de duas formas diferente.
Então, lembrar: caso exista um ObjectDataSource associado a um elemento do ascx, não é necessário atribuir um valor para o DataSource do objeto manualmente no código .cs.
Acho que é isso.