I think the problem is
<asp:ListItem Value="-1" Text=""></asp:ListItem>
that located inside your DropDownList.
Try use
<asp:ListItem Value="" Text=""></asp:ListItem>
instead of you are using.
EDIT:
I have just simulated your problem and I have found that you are using AutoEventWireup Page attribute of your custom field template
AutoEventWireup="false"
that prevent your Page_Load event to be automatically hooked to the page's Load event.
Change the value of this Page attribute to true (or remove one, because the default value is true) and try again.
For some information: