如何根据asp.net中下拉列表的选择绑定文本框?

时间:2018-01-13 09:14:05

标签: c# jquery asp.net

我的表名为tbl_Employee,其列包含Employee_name,Emp_ID,Emp_Salary,Emp_State,Emp_Mobile Number。

我有一个aspx页面,我使用了一个下拉列表并与dtabase绑定,当我们点击时,我们从该下拉列表中获取所有员工姓名。

以下是代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
        using (SqlConnection con = new SqlConnection(constr))
        {
            using (SqlCommand cmd = new SqlCommand("SELECT EmpId, Name FROM tblEmployee"))
            {
                cmd.CommandType = CommandType.Text;
                cmd.Connection = con;
                con.Open();
                ddlEmployee.DataSource = cmd.ExecuteReader();
                ddlEmployee.DataTextField = "Name";
                ddlEmployee.DataValueField = "EmpId";
                ddlEmployee.DataBind();
                con.Close();

            }
        }
        ddlEmployee.Items.Insert(0, new ListItem("--Select Employee--", "0"));
    }
}

在同一页面上,我有3个名为txtname,txtMobile和txtState的文本框。所以我想将数据库中的值绑定到选择特定员工的那个文本框到该下拉列表。

对于Ex。如果选择了Empname'ABC',那么这3个文本框应该与ABC名称,ABC mobile和他的State绑定。 我怎么做?我必须使用Jquery或javascript吗?

1 个答案:

答案 0 :(得分:1)

您希望在ddlEmployee选择更改时显示员工详细信息,因此假设您有ddlEmployee喜欢:

<asp:DropDownList ID="ddlEmployee" runat="server" AutoPostBack="True" 
                onselectedindexchanged="ddlEmployee_SelectedIndexChanged">
 </asp:DropDownList> 

所以可以在你的DropDown的onselectedindexchanged中完成:

protected void ddlEmployee_SelectedIndexChanged(object sender, EventArgs e)
{
    try
    {
        string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;
        using (SqlConnection con = new SqlConnection(constr))
        {
            using (SqlCommand cmd = new SqlCommand("SELECT Mobile,Name,State FROM tblEmployee where EmpId= @empId"))
            {
                cmd.CommandType = CommandType.Text;
                cmd.Connection = con;
                con.Open();
                cmd.Parameters.AddWithValue("@empId", ddlEmployee.SelectedValue);
                SqlDataReader reader = cmd.ExecuteReader();
                if(reader.Read())
                {
                    lblName.Text = reader["Name"].ToString();
                    lblEmail.Text = reader["Mobile"].ToString();
                    lblState.Text = reader["State"].ToString();
                }
                con.Close();
            }
        }
    }
    catch (Exception s)
    {
        HttpContext.Current.Response.Write("Error Occured " + s.Message);
    }
}