gpt4 book ai didi

c# - 如何在 ASP.NET 中将下拉控件绑定(bind)到数据源

转载 作者:太空狗 更新时间:2023-10-29 19:57:12 26 4
gpt4 key购买 nike

我是 C# 新手。

我有一个创建人力资源系统的项目,我创建了一个添加员工的页面,但主管要求我创建一个下拉列表,在添加新员工时显示部门。

我不知道如何开始,我应该先做什么。我已经从工具中添加了一个下拉列表,但我不知道如何选择数据源及其名称和值。选择部门表还是员工表?

public partial class _Default : Page
{

private String strcon = ConfigurationManager.ConnectionStrings["hr"].ConnectionString;

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)

bindgrideview();
}
protected void bindgrideview()
{
SqlConnection strcon1 = new SqlConnection(strcon);
strcon1.Open();
string ADDStr = "SELECT F_name , L_name , salary FROM Employee ";
SqlCommand ADDCmd = new SqlCommand(ADDStr, strcon1);
DataTable table = new DataTable();


SqlDataAdapter adapter = new SqlDataAdapter(ADDCmd);

adapter.Fill(table);
GridView1.DataSource = table;
GridView1.DataBind();

}

protected void Button1_Click(object sender, EventArgs e)
{
string F_name = TextBox1.Text;
string L_name = TextBox2.Text;
int status = 1;
string salarystr = TextBox3.Text.ToString();
int salary = Int32.Parse(salarystr);
SqlConnection strcon1 = new SqlConnection(strcon);
strcon1.Open();
string ADDStr = "ADDEMP";
SqlCommand ADDCmd = new SqlCommand(ADDStr, strcon1);
ADDCmd.CommandType = CommandType.StoredProcedure;
ADDCmd.Parameters.AddWithValue("@F_name", F_name);
ADDCmd.Parameters.AddWithValue("@L_name", L_name);
ADDCmd.Parameters.AddWithValue("@status", status);
ADDCmd.Parameters.AddWithValue("@salary", salary);

ADDCmd.ExecuteNonQuery();
bindgrideview();
TextBox1.Text = "";
TextBox2.Text = "";
}

这是我页面的屏幕截图: http://store2.up-00.com/Nov12/YXb11858.png

这是最终代码,没有错误,但下拉列表没有项目:(

public partial class _Default : Page
{

private String strcon = ConfigurationManager.ConnectionStrings["hr"].ConnectionString;

protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)

bindgrideview();
}
protected void bindgrideview()
{
SqlConnection strcon1 = new SqlConnection(strcon);
strcon1.Open();
string ADDStr = "SELECT F_name , L_name , salary FROM Employee ";
SqlCommand ADDCmd = new SqlCommand(ADDStr, strcon1);
DataTable table = new DataTable();


SqlDataAdapter adapter = new SqlDataAdapter(ADDCmd);

adapter.Fill(table);
GridView1.DataSource = table;
GridView1.DataBind();

}

protected void Button1_Click(object sender, EventArgs e)
{
string F_name = TextBox1.Text;
string L_name = TextBox2.Text;
int status = 1;
string salarystr = TextBox3.Text.ToString();
int salary = Int32.Parse(salarystr);
SqlConnection strcon1 = new SqlConnection(strcon);
strcon1.Open();
string ADDStr = "ADDEMP";
SqlCommand ADDCmd = new SqlCommand(ADDStr, strcon1);
ADDCmd.CommandType = CommandType.StoredProcedure;
ADDCmd.Parameters.AddWithValue("@F_name", F_name);
ADDCmd.Parameters.AddWithValue("@L_name", L_name);
ADDCmd.Parameters.AddWithValue("@status", status);
ADDCmd.Parameters.AddWithValue("@salary", salary);

ADDCmd.ExecuteNonQuery();
bindgrideview();
TextBox1.Text = "";
TextBox2.Text = "";
TextBox3.Text = "";
}
protected void bindDepartments()
{
SqlConnection strcon1 = new SqlConnection(strcon);
strcon1.Open();
string ADDStr = "SELECT ID,department_name FROM Department ";
SqlCommand ADDCmd = new SqlCommand(ADDStr, strcon1);
DataTable table = new DataTable();


SqlDataAdapter adapter = new SqlDataAdapter(ADDCmd);

adapter.Fill(table);

DropDownList1.DataSource = table;
DropDownList1.DataValueField = "ID";
DropDownList1.DataTextField = "department_name";
DropDownList1.DataBind();

}

}

最佳答案

因为您的代码用于检索 Employees 信息。从数据库中,您将检索 Departments 信息。来自您的部门表。

protected void bindDepartments()
{
SqlConnection strcon1 = new SqlConnection(strcon);
strcon1.Open();
string ADDStr = "SELECT DepartmentId,DepartmentName FROM Departments ";
SqlCommand ADDCmd = new SqlCommand(ADDStr, strcon1);
DataTable table = new DataTable();


SqlDataAdapter adapter = new SqlDataAdapter(ADDCmd);

adapter.Fill(table);

ddlDepartments.DataSource = table;
ddlDepartments.DataValueField = "DepartmentId"; //The Value of the DropDownList, to get it you should call ddlDepartments.SelectedValue;
ddlDepartments.DataTextField = "DepartmentName"; //The Name shown of the DropDownList.
ddlDepartments.DataBind();

}

关于c# - 如何在 ASP.NET 中将下拉控件绑定(bind)到数据源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15205380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com