我正在开发Asp.Net Dynamic Data project with linq to sql
。
我创建了一个数据库,该数据库在使用外键指定的两个表之间具有one to one relationship
。
即,我具有表Employee
和表Department
Employee table
empid empname address departmentId
Department table
departmentId departmentname
现在Student
表将departmentId
作为foreign key
当我导航到/Insert.aspx
时,它将在下拉列表中显示department_name
的列表。
它做到了这一点,但它将所有department_name
显示到下拉列表中
如何以及在哪里编写linq查询,以便自定义department_name值
如果假设我只想在下拉列表中将computers
填充为department_name我怎样才能做到这一点?
代码:在FieldTemplate文件夹ForeignKey_Edit.ascx.cs
中
protected void Page_Load(object sender, EventArgs e)
{
if (DropDownList1.Items.Count == 0)
{
if (Mode == DataBoundControlMode.Insert || !Column.IsRequired)
{
DropDownList1.Items.Add(new ListItem("[Not Set]", ""));
}
PopulateListControl(DropDownList1);
}
SetUpValidator(RequiredFieldValidator1);
SetUpValidator(DynamicValidator1);
}
数据动态正在内部填充下拉列表。
在此声明之前或之后PopulateListControl(DropDownList1);
我应该编写什么代码,以便只能填充特定的值。。?
代替PopulateListControl(DropDownList1);
试试这个
if (ForeignKeyColumn.ParentTable.Name == "Departments")
{
List<Department> departments = // code to grab the correct Departments
foreach (Department d in departments)
{
DropDownList1.Items.Add(new ListItem(d.Name, d.Id.ToString()));
}
}