aspx页面有一个UC。在aspx.cs中
if(!isPostBack){
UC.DataBind();
}
这个UC还有一个用户控制UC1。在UC.ascx.cs
public void DataBind(){
UC1.DataBind();
}
在UC1中
public void DataBind(){
List<Registeration> list = ... VAlues from database;
dropdownlist1.DataSource = list;
DropDownList1.DataTextField = 'username';
DropDownList1.DataValueField = 'username';
DropDownList1.databind();
}
public void button1_click(){
string selectedValue = DropDownList1.SelectedItem.Text;
}
问题:字符串selectedValue的值总是来自第一个项....
评论:DropDownList位于updatePanel
中答案 0 :(得分:0)
除了DataTextField之外,请尝试填充DropDownLost1.DataValueField。由于未分配,因此渲染的DropDown中的所有项目可能都为空。要检查这一点,您可以查看FireBug中呈现的HTML以查看显示的内容。
答案 1 :(得分:0)
您似乎正在做的一切正确,但您还需要在用户控件上添加isPostBack()
。