2017-04-07 99 views
1

这里是我的代码,但是当我用real ID 它运作良好替代dropdownlist.selectedvalue,所以当我从下拉列表中选择另一个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(); 
    } 
} 

回答

0

只需添加的ToString();

DropDownListUsers.SelectedValue.ToString(); 

,并确保类似@Hung说,如果你想要把它在页面加载时要放在

DropDownListUsers.SelectedIndex = 0; 

以上

+0

感谢,它运作良好的代码之前的所有值< 3 –

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

相关问题