C# Can';无法从dropdownbox获取值到数据库
我有一个webform,管理员将在其中向数据库添加新记录。表单有1个下拉框C# Can';无法从dropdownbox获取值到数据库,c#,asp.net,C#,Asp.net,我有一个webform,管理员将在其中向数据库添加新记录。表单有1个下拉框drpDepartments和几个文本框EmployeeID、Fname、Lname,等等。我可以添加新记录,但从下拉框中选择的选项不会更改。它总是第一个值。以下是表tblEmployee和tblDepartment 这是我的页面加载()代码: sConn = new SqlConnection(sStr); daEmp = new SqlDataAdapter("SELE
drpDepartments
和几个文本框EmployeeID、Fname、Lname
,等等。我可以添加新记录,但从下拉框中选择的选项不会更改。它总是第一个值。以下是表tblEmployee
和tblDepartment
这是我的页面加载()
代码:
sConn = new SqlConnection(sStr);
daEmp = new SqlDataAdapter("SELECT * FROM tblEmployee", sConn);
daDep = new SqlDataAdapter("SELECT * FROM tblDepartment", sConn);
dsEmp = new DataSet();
dsDep = new DataSet();
daEmp.Fill(dsEmp, "tblEmployee");
daDep.Fill(dsDep, "tblDepartment");
dsEmp.Tables["tblEmployee"].PrimaryKey = new DataColumn[] { dsEmp.Tables["tblEmployee"].Columns["EmployeeID"] };
drpDepartments.DataSource = dsDep.Tables["tblDepartment"];
drpDepartments.DataTextField = "Description";
drpDepartments.DataValueField = "DeptID";
drpDepartments.DataBind();
cb = new SqlCommandBuilder(daEmp);
DataRow dRow = dsEmp.Tables["tblEmployee"].NewRow();
dRow["EmployeeID"] = txtID.Text;
dRow["Lname"] = txtLname.Text;
dRow["Fname"] = txtFname.Text;
dRow["Mname"] = txtMname.Text;
dRow["Address"] = txtAddress.Text;
dRow["Email"] = txtEmail.Text;
dRow["Phone"] = Convert.ToInt64(txtPhone.Text);
dRow["Jobtitle"] = txtJobtitle.Text;
dRow["Salary"] = txtSalary.Text;
dRow["DeptID"] = drpDepartments.SelectedValue;
dsEmp.Tables["tblEmployee"].Rows.Add(dRow);
daEmp.Update(dsEmp, "tblEmployee");
dsEmp.Tables["tblEmployee"].AcceptChanges();
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "test", "<script>alert('New record added!');</script>");
Refresh();
和btnAdd\u Click()
code:
sConn = new SqlConnection(sStr);
daEmp = new SqlDataAdapter("SELECT * FROM tblEmployee", sConn);
daDep = new SqlDataAdapter("SELECT * FROM tblDepartment", sConn);
dsEmp = new DataSet();
dsDep = new DataSet();
daEmp.Fill(dsEmp, "tblEmployee");
daDep.Fill(dsDep, "tblDepartment");
dsEmp.Tables["tblEmployee"].PrimaryKey = new DataColumn[] { dsEmp.Tables["tblEmployee"].Columns["EmployeeID"] };
drpDepartments.DataSource = dsDep.Tables["tblDepartment"];
drpDepartments.DataTextField = "Description";
drpDepartments.DataValueField = "DeptID";
drpDepartments.DataBind();
cb = new SqlCommandBuilder(daEmp);
DataRow dRow = dsEmp.Tables["tblEmployee"].NewRow();
dRow["EmployeeID"] = txtID.Text;
dRow["Lname"] = txtLname.Text;
dRow["Fname"] = txtFname.Text;
dRow["Mname"] = txtMname.Text;
dRow["Address"] = txtAddress.Text;
dRow["Email"] = txtEmail.Text;
dRow["Phone"] = Convert.ToInt64(txtPhone.Text);
dRow["Jobtitle"] = txtJobtitle.Text;
dRow["Salary"] = txtSalary.Text;
dRow["DeptID"] = drpDepartments.SelectedValue;
dsEmp.Tables["tblEmployee"].Rows.Add(dRow);
daEmp.Update(dsEmp, "tblEmployee");
dsEmp.Tables["tblEmployee"].AcceptChanges();
Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "test", "<script>alert('New record added!');</script>");
Refresh();
cb=新的SqlCommandBuilder(daEmp);
DataRow dRow=dsEmp.Tables[“tblEmployee”].NewRow();
dRow[“EmployeeID”]=txtID.Text;
dRow[“Lname”]=txtLname.Text;
dRow[“Fname”]=txtFname.Text;
dRow[“Mname”]=txtMname.Text;
dRow[“Address”]=txtAddress.Text;
dRow[“Email”]=txtEmail.Text;
dRow[“Phone”]=转换为64(txtPhone.Text);
dRow[“Jobtitle”]=txtJobtitle.Text;
dRow[“Salary”]=txtralary.Text;
dRow[“DeptID”]=drpDepartments.SelectedValue;
dsEmp.Tables[“tblEmployee”].Rows.Add(dRow);
daEmp.更新(dsEmp,“tblEmployee”);
dsEmp.Tables[“tblEmployee”].AcceptChanges();
Page.ClientScript.RegisterClientScriptBlock(this.GetType(),“test”,“alert('newrecord added!');”;
刷新();
下拉列表的绑定必须仅在中!iPostBack
if(!IsPostBack)
{
drpDepartments.DataSource = dsDep.Tables["tblDepartment"];// Set DataSource Table First
drpDepartments.DataTextField = "Department";// Set Column Name of DataTable to set as Text Field
drpDepartments.DataValueField = "DepartmentID";// Set Column Name of DataTable to set as Value Field
drpDepartments.DataBind();
}
如果在回发事件中绑定下拉列表,则下拉列表将在按钮单击(页面加载)事件中重新绑定,用户设置的值将丢失。下拉列表的绑定必须仅在
中!iPostBack
if(!IsPostBack)
{
drpDepartments.DataSource = dsDep.Tables["tblDepartment"];// Set DataSource Table First
drpDepartments.DataTextField = "Department";// Set Column Name of DataTable to set as Text Field
drpDepartments.DataValueField = "DepartmentID";// Set Column Name of DataTable to set as Value Field
drpDepartments.DataBind();
}
如果在回发事件中绑定下拉列表,则下拉列表将在按钮单击(页面加载)事件中重新绑定,用户设置的值将丢失。下拉列表的绑定必须仅在
中!iPostBack
if(!IsPostBack)
{
drpDepartments.DataSource = dsDep.Tables["tblDepartment"];// Set DataSource Table First
drpDepartments.DataTextField = "Department";// Set Column Name of DataTable to set as Text Field
drpDepartments.DataValueField = "DepartmentID";// Set Column Name of DataTable to set as Value Field
drpDepartments.DataBind();
}
如果在回发事件中绑定下拉列表,则下拉列表将在按钮单击(页面加载)事件中重新绑定,用户设置的值将丢失。下拉列表的绑定必须仅在
中!iPostBack
if(!IsPostBack)
{
drpDepartments.DataSource = dsDep.Tables["tblDepartment"];// Set DataSource Table First
drpDepartments.DataTextField = "Department";// Set Column Name of DataTable to set as Text Field
drpDepartments.DataValueField = "DepartmentID";// Set Column Name of DataTable to set as Value Field
drpDepartments.DataBind();
}
如果在回发事件中绑定DropDownList,则该下拉列表将在按钮单击(页面加载)事件中重新绑定,用户设置的值将丢失。@user2971155-您指出Subin解决了您的问题。请好心选择他的答案,这样他就会得到信任。毕竟,这就是我们的答案:)@user2971155-您表示Subin解决了您的问题。请好心选择他的答案,这样他就会得到信任。毕竟,这就是我们的答案:)@user2971155-您表示Subin解决了您的问题。请好心选择他的答案,这样他就会得到信任。毕竟,这就是我们的答案:)@user2971155-您表示Subin解决了您的问题。请好心选择他的答案,这样他就会得到信任。毕竟,这就是我们的答案,男人们在这里是为了:)