根据下拉列表选择从数据框中检索数据

时间:2017-04-07 22:54:36

标签: c# asp.net

这是我的代码,但是当我用dropdownlist.selectedvalue替换real ID时 它工作得很好,所以当我从下拉列表中选择另一个id时,我需要这个更改:

protected void Page_Load(object sender, EventArgs e)
{

    SqlCommand com = new SqlCommand("select * from UsersTable where UserName='" + DropDownListUsers.SelectedValue + "'", conn);
    try
    {
        conn.Open();

        using (SqlDataReader red = com.ExecuteReader())
        {
            while (red.Read())
            {
                TextBoxpass.Text = (red["password"].ToString());
                TextBoxFname.Text = (red["Fname"].ToString());
                TextBoxLname.Text = (red["Lname"].ToString());
                TextBoxAddress.Text = (red["Address"].ToString());
                TextBoxPhone.Text = (red["PhoneNo"].ToString());
                TextBoxEmail.Text = (red["Email"].ToString());
                TextBoxpass.Text = (red["password"].ToString());
            }
        }
    }

    finally
    {
        conn.Close();
    }
}

2 个答案:

答案 0 :(得分:0)

为了使您的代码更好,您需要做一些事情。

您需要将上述代码绑定到您的changed事件     DropDownListUsers不是页面加载,或者如果你想将它放在页面加载中,你需要指定下拉列表的默认选定值。

//server side code
protected void DropDownListUsers_SelectedIndexChanged(object sender, EventArgs e)
{
     //code here
}
//Your markup
OnSelectedIndexChanged="ddlCompany_SelectedIndexChanged" AutoPostBack="True"

使用参数化查询https://msdn.microsoft.com/en-us/library/bb738521(v=vs.100).aspx

答案 1 :(得分:0)

只需添加.ToString();

DropDownListUsers.SelectedValue.ToString(); 

并且肯定像@Hung所说,如果你想把它放在页面加载中,请确保放

DropDownListUsers.SelectedIndex = 0;

或上面代码之前的任何默认值