If possible then also try using DataSet as like: and also make sure to write actual field name within text field and value field and call your function on page load.
DataSet ds = new DataSet();
ds = fpBAL.getMisctype();
ddltype.DataSource = ds.Table[0];
ddltype.DataTextField = "productname";
ddltype.DataValueField = "sno";
ddltype.DataBind();
ddltype.Items.Add(new ListItem("--Select--", "0"));
ddltype.SelectedIndex = - 1;