You only want to bind the list if it's not a postback, such as this:
private void PopulateControls()
{
if (!Page.IsPostBack) {
DataTable dt = srdE20_CalendarEvent.GetPages();
this.ddPages.DataSource = dt;
ddPages.DataTextField = "PageName";
ddPages.DataValueField = "PageId";
ddPages.DataBind();
}
}