我正在从事Webforms(无MVC)我有以下情形。我想要获取所选文字的ID并插入点击事件。但它显示从字符串到EFCode.Department的转换错误。如何从下拉列表中获取值以插入EF CodeFirst
代码
EmployeeDbContext db = new EmployeeDbContext();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DropDownList1.DataSource = db.Departments.ToList();
DropDownList1.DataBind();
}
GridView1.DataSource = db.Departments.Include("Employees").ToList();
GridView1.DataBind();
}
protected void Button1_Click(object sender, EventArgs e)
{
Employee emp = new Employee(){Name = TextBox1.Text,
Gender= TextBox2.Text,
Salary = float.Parse(TextBox3.Text),
**Department = DropDownList1.SelectedValue**}; // error here
db.Employees.Add()
db.SaveChanges();
}
public class Department
{
public int ID { get; set; }
public string Name { get; set; }
public string Location { get; set; }
public List<Employee> Employees { get; set; }
}
public class Employee
{
public int ID { get; set; }
public string Name { get; set; }
public string Gender { get; set; }
public float Salary { get; set; }
**public Department Department { get; set; }**
}
public class EmployeeDbContext : DbContext
{
public DbSet<Employee> Employees { get; set; }
public DbSet<Department> Departments { get; set; }
}
Well'Department'不是一个字符串,它是一个**类**。查看你的代码。 –
这是我的问题。如何将字符串转换为类类型 – Mangrio
@ S.Akbari“Department”是导航属性。如何在员工对象中设置它,从下拉菜单中重新获得它的价值。 – Mangrio