【问题标题】:textbox message based on drop down list selected value基于下拉列表选择值的文本框消息
【发布时间】:2019-03-15 03:54:40
【问题描述】:

我的下拉列表有值,用户选择 A1,文本框将显示 +1,选择 A2,消息显示 +2,如果 B1,消息显示 -1,B2 消息显示 -2。我选择 A1,+1 出来,A2,+2 出现。但是,当我选择 B1 时,出现 +1 和 B2,+2。为什么 As 答案只出现而不出现 Bs ?需要帮助。

我的 aspx.cs

protected void ddlJM1_SelectedIndexChanged(object sender, EventArgs e)
{
    int IntentID = Convert.ToInt32(ddlJM1.SelectedValue.ToString());
    FillYes(IntentID);

    if (ddlJM1.SelectedIndex == 1)
    {
        ddlJM2.Enabled = true;
        ddlJM3.Enabled = false;
        ddlJM2.SelectedIndex = 0;
        lblMsgJM.Text = "";
    }

    if (ddlJM1.SelectedIndex == 2)
    {
        ddlJM2.Enabled = true;
        ddlJM2.SelectedIndex = 0;

        ddlJM3.Enabled = false;
        lblMsgJM.Text = "";
    }

}

protected void ddlJM2_SelectedIndexChanged(object sender, EventArgs e)
{
    int YesID = Convert.ToInt32(ddlJM2.SelectedValue.ToString());
    FillJob(YesID);

    if (ddlJM2.SelectedIndex == 1)
    {
        ddlJM3.Enabled = true;
        lblMsgJM.Text = "";
    }

    if (ddlJM2.SelectedIndex == 2)
    {
        ddlJM3.Enabled = false;

    }

    if (ddlJM2.SelectedIndex == 3)
    {
        ddlJM3.Enabled = true;
        lblMsgJM.Text = "";
    }

    if (ddlJM2.SelectedIndex == 4)
    {
        ddlJM3.Enabled = false;
        lblMsgJM.Text = "Please consult / review with ODD focal person";
    }

}


 protected void ddlJM3_SelectedIndexChanged(object sender, EventArgs e)
{
    if (ddlJM3.SelectedIndex == 1)
    {
        lblMsgJM.Text = "+1";
    }
    if (ddlJM3.SelectedIndex == 2)
    {
        lblMsgJM.Text = "+2";
    }

     if (ddlJM3.SelectedIndex == 3)
    {
        lblMsgJM.Text = "-1";
    }
    if (ddlJM3.SelectedIndex == 4)
    {
        lblMsgJM.Text = "-2";
    }
}

 private void FillJob(int YesID) //for ddlJM3
    {
        string strConn = ConfigurationManager.ConnectionStrings["dbconnection"].ConnectionString;
        SqlConnection con = new SqlConnection(strConn);
        SqlCommand cmd = new SqlCommand();
        cmd.Connection = con;
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "SELECT AlphabetID, Alphabet FROM TableJob WHERE YesID =@YesID";
        cmd.Parameters.AddWithValue("@YesID", YesID);
        DataSet objDs = new DataSet();
        SqlDataAdapter dAdapter = new SqlDataAdapter();
        dAdapter.SelectCommand = cmd;
        con.Open();
        dAdapter.Fill(objDs);
        con.Close();

        if (objDs.Tables[0].Rows.Count > 0)
        {
            ddlJM3.DataSource = objDs.Tables[0];
            ddlJM3.DataTextField = "Alpahabet";
            ddlJM3.DataValueField = "AlphabetID";
            ddlJM3.DataBind();
            ddlJM3.Items.Insert(0, "--Select--");

        }

     }

【问题讨论】:

    标签: c# sql asp.net cascadingdropdown


    【解决方案1】:

    请像这样比较选择的值

    protected void ddlJM3_SelectedIndexChanged(object sender, EventArgs e)
    {
        if (ddlJM3.SelectedItem.Text.ToLower() == "a1")
        {
            lblMsgJM.Text = "+1";
        }
        if (ddlJM3.SelectedItem.Text.ToLower() == "a2")
        {
            lblMsgJM.Text = "+2";
        }
    
        if (ddlJM3.SelectedItem.Text.ToLower() == "b1")
        {
            lblMsgJM.Text = "-1";
        }
        if (ddlJM3.SelectedItem.Text.ToLower() == "b2")
        {
            lblMsgJM.Text = "-2";
        }
    }
    

    【讨论】:

    • 但我使用的是 ID,因为我的下拉列表是级联 ddl,所以 ==1 代表 A1,==2 是 A2,依此类推,我使用了你的方式,但它仍然无法正常工作
    • 你能检查并告诉我每次选择的值是什么吗?
    • 我为 A1 输入 ID 1,为 A2 输入 2,为 B1 输入 3,为 B2 输入 4,但值出来了,当我选择 A1 时 +1,为 A2 +2,但当我选择时 +1当我选择 B2 时,B1 和 +2。 B的答案没有出来
    • 如果你使用索引,那么可能会设置为 -1,因为它从 0 开始。我认为它正在工作 if (ddlJM3.SelectedIndex == 0) { lblMsgJM.Text = "+1"; } if (ddlJM3.SelectedIndex == 1) { lblMsgJM.Text = "+2"; } if (ddlJM3.SelectedIndex == 2) { lblMsgJM.Text = "-1"; } if (ddlJM3.SelectedIndex == 3) { lblMsgJM.Text = "-2"; }
    • 请获取新的解决方案
    猜你喜欢
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多