DROPDOWNLIST没有发射OnSelectedIndexChanged [英] DropDownList not firing OnSelectedIndexChanged

查看:129
本文介绍了DROPDOWNLIST没有发射OnSelectedIndexChanged的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

ASP.Net code:

ASP.Net code:

<asp:DropDownList ID="ddlKid" runat="server" AutoPostBack="true" CssClass="ddlReports"
    Width="160px" OnSelectedIndexChanged="ddlKid_SelectedIndexChanged">
</asp:DropDownList>

C#code:

C# code:

protected void ddlKid_SelectedIndexChanged(object sender, EventArgs e)
{
    int i = ddlKid.SelectedIndex;
    count = i;
    int KidId = int.Parse(KidArray[i].ToString());

    ArrayList ADA = new ArrayList();
    ADA.Add(FirstAssignment.SelectedItem);
    ADA.Add(SecondAssignment.SelectedItem);
    DrawTableNew(ADA, KidId);
}

protected void Page_Load(object sender, EventArgs e)
{
    GameLib.Reports.ReportID = 6;
    if (!IsPostBack)
    {
        FillGrades();
        FillKids();
        count = 0;
        Label1.Visible = false;
        FirstAssignment.Visible = false;
        SecondAssignment.Visible = false;
        L1st.Visible = false;
        L2nd.Visible = false;
        Header.Visible = false;
        Label2.Visible = false;
        Div2.Visible = false;
        Panel1.Visible = false;
        DwdTable.Visible = false;
        DwdButton2.Visible = false;
        pnlIssues.Visible = false;
        Panel2.Visible = false;
    }
    else
    {
        FillGrades();
        //  FillKids();
    }
}

protected void FillKids()
{
    ddlKid.Visible = true;
    try
    {
        if (GameUser.UserType == 1)
        {
            ddlKid.Items.Insert(0, new System.Web.UI.WebControls.ListItem(GameUser.UserName, GameUser.UserID.ToString()));
        }
        else
        {
            DataTable dt = new DataTable();
            //dt = GameLib.GameUser.GetKidsForParent(GameUser.UserID);
            dt = GameLib.GameUser.GetKidsForParentAsPerGrade(GameUser.UserID, ddlAssessment.SelectedItem.ToString());
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                int kidId = (int)dt.Rows[i]["intUserID"];
                KidArray.Add(kidId);
            }
            if (dt.Rows.Count <= 0)
            {
                //MPEGrade.Show();
            }
            else
            {
                ddlKid.DataSource = dt;
                ddlKid.DataTextField = "vchLoginName";
                ddlKid.DataValueField = "vchGradeName";
                ddlKid.DataBind();
            }
        }
    }
    catch
    {

    }
}

问题是我的 ddlKid_SelectedIndexChanged 不执行。页面加载后,它在其他语句停在。其code为填充孩子(添加下拉数据)。
 填充孩子只能叫上第一就是!回发。

The problem is my ddlKid_SelectedIndexChanged is not executing. After page load it stops at else statement. Its code for fill kids(Adding drop down data). The fill kid only called on the first that is !postback.

推荐答案

您可以更改绑定值:
填补孩子们的价值,如:

you can change binding value: fill kids value like:

string vchLoginName=//login name from db;
string vchGradeName=//Grade name from db;
ddlKid.Items.Add(new ListItem(vchLoginName,vchGradeName)); 

这篇关于DROPDOWNLIST没有发射OnSelectedIndexChanged的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆