check my example, works fine...
<asp:scriptmanager id="ScriptManager1" runat="server" xmlns:asp="#unknown">
</asp:scriptmanager>
<asp:updatepanel id="UpdatePanel1" runat="server" xmlns:asp="#unknown">
<contenttemplate>
<asp:dropdownlist id="DropDownList1" runat="server" autopostback="true">
</asp:dropdownlist>
<br />
<asp:literal id="Literal1" runat="server"></asp:literal>
</contenttemplate>
</asp:updatepanel>
code behind:
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
this.Load += new EventHandler(_Default_Load);
DropDownList1.SelectedIndexChanged += new EventHandler(DropDownList1_SelectedIndexChanged);
}
void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
Literal1.Text = "selected item: " + DropDownList1.SelectedItem;
}
void _Default_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
List<string> list = new List<string>() { "item 1", "item 2", "item 3" };
DropDownList1.DataSource = list;
DropDownList1.DataBind();
}
}</string></string>