1

selectedindexchanged イベントが正しく発生する 3 つのドロップダウン リスト コントロールがあります。ただし、リストから項目を選択しても、selectedindexchanged イベントに返されるインデックス値は変更されません。リスト ボックスがリストの最初の項目に戻ります。どんな助けでも大歓迎です。~ダルメンドラ~

`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 > 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 > 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 > 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;
    }

}

}`

4

1 に答える 1

1

あなたは ddlRegionProjectName.SelectedIndex = 0;あらゆるSelectedIndexChangedイベントでやっています。

あなたが共有したコードには、ddlCountyName コントロールのイベントがありません。

于 2012-05-11T12:36:49.207 に答える