Данные не обновляются при выборе элемента из выпадающего списка

Я хотел бы спросить, не могли бы вы помочь мне с моими кодами, так как я не получил желаемый результат, а именно загрузку сведений о конкретной бумаге из выпадающего списка.

В настоящее время, когда страница загружается, информация о выбранном элементе будет загружена. Но когда я пытаюсь выбрать другой элемент из выпадающего списка, соответствующие детали не отображаются, предыдущий все равно остается.

В свойствах выпадающего списка я также установил автопостбэк на да, чтобы он автоматически загружал соответствующие детали выбранного элемента.

Пожалуйста, смотрите коды ниже

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        GetPaper();
        GetInk();

        GetPaperDetails(ddlPaperName.SelectedItem.Value);
        //pnlPrinting.Visible = true;
    }
}
protected void btnCompute_Click(object sender, EventArgs e)
{

}
protected void btnCancel_Click(object sender, EventArgs e)
{

}

private void GetPaper()
{
    con.Open();
    SqlCommand com = new SqlCommand();
    com.Connection = con;
    com.CommandType = CommandType.Text;
    com.CommandText =
        "SELECT * FROM Papers";

    SqlDataReader data = com.ExecuteReader();

    ddlPaperName.DataSource = data;
    ddlPaperName.DataValueField = "PaperID";
    ddlPaperName.DataTextField = "PaperName";
    ddlPaperName.DataBind();

    data.Close();
    con.Close();     
}

private void GetPaperDetails(string paper)
{
    con.Open();
    SqlCommand com = new SqlCommand();
    com.Connection = con;
    com.CommandType = CommandType.Text;
    com.CommandText =
        "SELECT * FROM Papers WHERE PaperID=" + paper;

    SqlDataReader data = com.ExecuteReader();

    while (data.Read())
    {
        lblPaperPrice.Text = data["PaperPrice"].ToString();
        lblDescription.Text = data["PaperDescription"].ToString();
        lblSpecification.Text = data["PaperSpecification"].ToString();
        imgPaper.ImageUrl = "../" + data["PaperImage"].ToString();
    }
    data.Close();
    con.Close();
}


private void GetInk()
{
    con.Open();
    SqlCommand com = new SqlCommand();
    com.Connection = con;
    com.CommandType = CommandType.Text;
    com.CommandText =
        "SELECT * FROM Inks";

    SqlDataReader data = com.ExecuteReader();

    ddlPaperName.DataSource = data;
    ddlPaperName.DataValueField = "InkID";
    ddlPaperName.DataTextField = "InkName";
    ddlPaperName.DataBind();

    while (data.Read())
    {
        lblInkPrice.Text = data["InkPrice"].ToString();
    }
    data.Close();
    con.Close();
}
protected void ddlPaperName_SelectedIndexChanged(object sender, EventArgs e)
{
        GetPaperDetails(ddlPaperName.SelectedItem.Value);
}

Ждем ваших отзывов здесь. Спасибо!

2 ответа

Установите для свойства AutoPostBack значение true вашего раскрывающегося списка.

Нам этот код, для этого,

 if (!IsPostBack == true)
            {

                drpdownaccountnamebind();
                drpdowncountrynamebind();

            }

Я надеюсь, что это будет полезно,

Другие вопросы по тегам