如何从代码中将ListItem添加到DropDownList并获取所选值

时间:2013-08-23 23:47:32

标签: c# asp.net

我成功地将List-items从我的数据库添加到我的DropDownList中,但是在我运行我的应用程序并从DropDownList中选择了一个值之后,我在代码处检查了我的断点,并且我看到所选值是错误的。它总是选择第一个值。

我的代码是:

UserBLL uBLL = new UserBLL();
List<Item> list = uBLL.GetAllItemsCategory();
foreach (Item item in list)
{
    int var = 1;
    ListItem lItem = new ListItem(item.name, var.ToString());
    modelsList.Add(lItem);
    var++;
}

DropDownList2.DataSource = modelsList;  
DropDownList2.DataBind();

如何修复它以便在执行以下操作时我会得到正确的选择,而不仅仅是第一项?

order.nameItem = DropDownList2.SelectedValue;

2 个答案:

答案 0 :(得分:0)

看看这个视频...... 回答问题.. http://www.youtube.com/watch?v=unHTHOWH65w

另一个Similer问题...... Get selected value from a dropdownlist asp.net

答案 1 :(得分:0)

您需要在!IsPostBack事件中检查Page_Load,如下所示:

protected void Page_Load(object sender, EventArgs e)
{
    if(!IsPostBack)
    {
        // Put logic here to bind
        DropDownList2.DataSource = modelsList;  
        DropDownList2.DataBind();
    }
}