List box pops back to the first item after SelectedIndexChange event fires
<p>I have a 3 dropdownlist control with a selectedindexchanged event that fires correctly. However, when you select an item from the list the index value that is returned to the selectedindexchanged event does not change; the list box pops back to the first item in the list. Any help would be appreciated. ~Dharmendra~</p>

<pre><code>`public partial class Production : System.Web.UI.Page
{ 
    EmployeeQuotientCL.Production _production = null;
    DataSet dsNatureOfWork = new DataSet();
    DataSet dsProjectRegion = new DataSet();
    DataSet dsCountyDetails = new DataSet();
    DataSet dsWorkType = new DataSet();
    DataSet dsTask = new DataSet();


    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
             string userEcode=Convert.ToString(Session["UserID"]); 
            _production = new EmployeeQuotientCL.Production();                       
            dsNatureOfWork = _production.GetNatureOfWork();
            if (dsNatureOfWork.Tables[0].Rows.Count &gt; 0)
            {
                BindDdlNatureOfWork(dsNatureOfWork);
            }
            else
            {
            }
        }            

    }



    public void BindDdlNatureOfWork(DataSet dsNatureOfWork)
    {
        ddlNatureofWork.DataSource = dsNatureOfWork.Tables[0];
        ddlNatureofWork.DataTextField = "NatureOfWorkName";
        ddlNatureofWork.DataValueField = "NatureOfWorkID";
        ddlNatureofWork.DataBind();
        ddlNatureofWork.Items.Insert(0, "--Select Nature of Work--");
    }

    public void FillRegionProject(int NatureOfWorkID)
    {
        if ((NatureOfWorkID != null) || (NatureOfWorkID != 0))
        {
            _production = new EmployeeQuotientCL.Production();
            dsProjectRegion = _production.GetProjectRegion(NatureOfWorkID);
            if (dsProjectRegion.Tables[0].Rows.Count &gt; 0)
            {
                ddlRegionProjectName.DataSource = dsProjectRegion.Tables[0];
                ddlRegionProjectName.DataTextField = "RegionProjectName";
                ddlRegionProjectName.DataValueField = "RegionProjectID";
                ddlRegionProjectName.DataBind();
                ddlRegionProjectName.Items.Insert(0, "--Select Region/Project--");

            }
            else
            {
            }
        }

    }

    protected void ddlRegionProjectName_SelectedIndexChanged(object sender, EventArgs e)
    {
        int RegionProjectID = Convert.ToInt32(ddlRegionProjectName.SelectedValue.ToString());
        FillCounty(RegionProjectID);
        ddlRegionProjectName.SelectedIndex = 0;

    }

    public void FillCounty(int regionprojectID)
    {
        if ((regionprojectID != null) || (regionprojectID != 0))
        {
            _production = new EmployeeQuotientCL.Production();
            dsCountyDetails = _production.GetCounty(regionprojectID);
            if (dsCountyDetails.Tables[0].Rows.Count &gt; 0)
            {
                ddlCountyName.DataSource = dsCountyDetails.Tables[0];
                ddlCountyName.DataTextField = "CountyName";
                ddlCountyName.DataValueField = "CountyID";
                ddlCountyName.DataBind();
                ddlCountyName.Items.Insert(0, "--Select County--");

            }
            else
            {
            }
        }
    }

    protected void ddlNatureofWork_SelectedIndexChanged(object sender, EventArgs e)
    {
        int NowID = Convert.ToInt32(ddlNatureofWork.SelectedValue.ToString());
        FillRegionProject(NowID);
        ddlRegionProjectName.SelectedIndex = 0;
    }

}
</code></pre>

<p>}`</p>
