1.In ASP.NET is important the event that you use to init your controls, in generally the
Page_Load
event is used but could be also
Page_Init
in some situations. For more details see
ASP.NET Page Life Cycle Overview[
^]
2.In your case you should place your code that init and bind your drop down list in
Page_Load
event but only when the page is not post back, like in the next example:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
}
}