将下拉列表数据显示到文本框

时间:2015-12-29 10:39:11

标签: asp.net drop-down-menu webforms textbox

您好我怎么知道如何将数据从下拉列表显示到文本框?我只是为了名字和身份而设法这样做,但我的价格也不能这样做。

例如,当我从下拉列表中选择橙色时,ID,名称和价格将显示在其各自的文本框中。谢谢!

protected void Page_Load(object sender, EventArgs e)
{      
    if (Page.IsPostBack == false)
    {
        bindDropDownList();     
    }
}

private SqlDataReader getReader()
{   
    string strConnectionString = ConfigurationManager.ConnectionStrings["Yasha"].ConnectionString;
    SqlConnection myConnect = new SqlConnection(strConnectionString);

    string strCommandText = "SELECT productID, productName, productPrice from Product";

    SqlCommand cmd = new SqlCommand(strCommandText, myConnect);

    myConnect.Open();
    SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);
    return reader;
} 

private void bindDropDownList()
{
    ddlProduct.DataSource = getReader();
    ddlProduct.DataTextField = "productName";
    ddlProduct.DataValueField = "productID";      
    ddlProduct.DataBind();
}

protected void ddlProduct_SelectedIndexChanged(object sender, EventArgs e)
{
    tbProductID.Text = ddlProduct.SelectedValue.ToString();
    tbProduct.Text = ddlProduct.SelectedItem.Text;
    tbPrice.Text = ?;
}

1 个答案:

答案 0 :(得分:0)

您可以在SelectedIndexChanged事件中调用数据库,也可以将从getReader(另一种形式 - ProductId,Price字典)返回的数据保存到{{1}在ViewState事件中查询。

就个人而言,我要避免SelectedIndexChanged并使用ViewState轻松调用您的数据库以获取费用。