Controls below inside a repeater are placed in an update panel. First ddl has countries, its "selectedindexchanged" fills the second ddl which is for cities. Once you fill the textboxes and select the country and the city, and click the Add button, all controls' values kept in the repeater.

When you add a few more, always the final one's ddlCountry fires the ddl_SelectedIndexChanged(). If you try to change the previous one's ddlCountry value, ddl_SelectedIndexChanged() in the .cs file is not executed. I checked the page source: final ddlCountry's Id is
cphContent_ddlAddressCountry
and the previous one's Id is assigned sth like:
cphContent_rpAddress_lblCountrym_0
cphContent refers to UpdatePanel and rp does to Repeater.
I don't know how to catch the ddl's Id inside the repeater.