When you add controls dynamically to a WebForms page, you need to recreate them every time the page is posted back. You will also need to wire up any event handlers on each request, and make sure the control is added early enough in the page lifecycle for the events to fire.
protected void Page_Init(object sender, EventArgs e)
{
getDdl();
myDdl.SelectedIndexChanged += myDdl_SelectedIndexChanged;
}