ASP.Net DropDownList SelectedIndex没有改变

时间:2011-10-24 20:44:07

标签: asp.net drop-down-menu

我正在开发一个项目,我有一个OdbcDataReader,它从查询中读取数据并使用查询中的项填充DropDownList。当我运行Web应用程序并在列表中选择不同的项目时,所选值永远不会更改是否启用了回发,是否启用了smartpaging,或者是否启用了EnableViewState

 protected void populateGrid(OdbcDataReader reader)
    {
        ClientDropDownList.DataSource = reader;
        ClientDropDownList.DataTextField = "company";
        ClientDropDownList.DataBind();

    }

3 个答案:

答案 0 :(得分:4)

首先,您应该为Dropdownlist控件设置AutoPostBack = true。

第二件事是你应该通过检查Ispostback

来绑定Page_Load事件中的值
If(! IsPostBack())   
{

    Bind your dropdownlist  here.
} 

Thrid的东西是按照Asp.Net生命周期流程。每次都会激活页面加载。当页面刷新时。

答案 1 :(得分:1)

检查您是否未在每个PopulateGrid上致电PostBack。人们遇到的最常见问题之一。

如果您PopulateGrid中的来电Page_Load将其换成if (!IsPostBack)

答案 2 :(得分:0)

您可以使用此代码:

  foreach (ListItem item in YourDropDownList.Items)
     {
            if (item.Text == defaultText) 
            {
                item.Selected = true;
                break;
            }
     }