如何获取Dropdownbox C#ASP.NET的Datasource()
我有表如何获取Dropdownbox C#ASP.NET的Datasource(),c#,asp.net,C#,Asp.net,我有表tblDepartments,其中列DeptID,Department,Description。我还有dropdownboxdrpDepartments。我想在下拉框中显示部门列的内容。我尝试在winforms中使用此C#代码,但没有成功: drpDepartments.DataSource = dsDep.Tables["tblDepartment"]; drpDepartments.DisplayMember = "Department";
tblDepartments
,其中列DeptID,Department,Description
。我还有dropdownboxdrpDepartments
。我想在下拉框中显示部门
列的内容。我尝试在winforms中使用此C#代码,但没有成功:
drpDepartments.DataSource = dsDep.Tables["tblDepartment"];
drpDepartments.DisplayMember = "Department";
drpDepartments.ValueMember = "DeptID";
drpDepartments.Text = "Choose Department";
如何使用ASP.NET C#进行此操作?谢谢
新代码(仍不工作)
您是否调用了DataBind()
在asp.net webForms中必须这样称呼它
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();
您必须从使用System.Web.UI.WebControls使用它代码>名称空间。您似乎在使用winforms名称空间
DataTextField
相当于DisplayMember
,ValueMember
相当于DataValueField
drpDepartments.DataSource = ds1;
drpDepartments.DataTextField = "textcol";
drpDepartments.DataValueField = "valuecol";
drpDepartments.DataBind();
在btn_保存方法中执行此操作后
加上这个
希望能有帮助
缺少drpDepartments.Databind()。此外,您还可以在“说明”中检查此链接,您可以列出列名DeptID,Department
,但在“代码使用DepartmentID,Department
”中,是否确实使用了正确的列名称?请使用部门
而不是针对数据文本字段
属性选择部门
。代码在哪个事件处理程序中?我收到此错误'drpDepartments'有一个SelectedValue,该值无效,因为它在项目列表中不存在。
这是一个单独的属性您询问的问题。您必须设置drpDepartments.SelectedValue=???在某个地方,您正在设置的值在下拉项列表中不存在(它会查找具有相同值的项)。仍然没有显示,但错误已消失。请检查我是否已更新代码此代码没有任何意义。它将有效地创建一个空下拉列表,因为数据源是一个新实例化的DataTable代码>?我应该使用什么?web命名空间中没有DisplayMember
和ValueMember
属性。所以我假设您使用的是一些winforms名称空间
namespace绑定下拉列表。选择Department
和DepartmentID
必须是DataTable中的列名称。调试时检查VisualStudio中填充的数据表
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();
drpDepartments.DataSource = ds1;
drpDepartments.DataTextField = "textcol";
drpDepartments.DataValueField = "valuecol";
drpDepartments.DataBind();
cmd.Parameters.AddWithValue("@a", drpDepartments.SelectedValue);