Asp.net mvc 如何在ASP.NET MVC中将一个表的主键保存到另一个表中
我是ASP.NETMVC新手。我使用的是数据库优先的方法 我在数据库中有两个表-Asp.net mvc 如何在ASP.NET MVC中将一个表的主键保存到另一个表中,asp.net-mvc,asp.net-mvc-4,Asp.net Mvc,Asp.net Mvc 4,我是ASP.NETMVC新手。我使用的是数据库优先的方法 我在数据库中有两个表-Employee和Department 我制作了一个“添加新员工”的弹出式注册表,其中包括一个下拉列表,该下拉列表由部门表中的离职人员姓名列表填充。但在保存时,我想将与所选选项相关的部门ID而不是部门名称作为外键保存到employee表中 因为你的问题不太清楚,但据我所知,我给你一个可能的解决方案。 为什么不稍微更改一下部门下拉列表生成代码呢。定义值和文本字段。然后您将以值的形式访问部门id 如果您的部
Employee
和Department
我制作了一个“添加新员工”的弹出式注册表,其中包括一个下拉列表,该下拉列表由部门
表中的离职人员姓名
列表填充。但在保存时,我想将与所选选项相关的部门ID
而不是部门名称
作为外键保存到employee表中
因为你的问题不太清楚,但据我所知,我给你一个可能的解决方案。 为什么不稍微更改一下部门下拉列表生成代码呢。定义值和文本字段。然后您将以值的形式访问
部门id
如果您的部门表的列数超过id
和name
public class DropdownDataModel{
public virtual int value { get; set; }
public virtual string text { get; set; }
}
然后根据表数据生成部门列表
public ActionResult YourFunc(){
//Your rest of codes
Viewbag.Departments = _db.Departments.Select(x => new DropdownDataModel{ value = x.id, text = department_name }).toList();
}
然后用视图中的数据构建一个下拉列表
@Html.DropDownListFor(model => model.department_id, new SelectList(ViewBag.Departments , "value", "text"), htmlAttributes: new { @class = "form-control" })
当然,您的
员工
模型必须将部门id
作为一个字段,并且您已经按原样创建了数据库并建立了关系尝试编写有问题的代码,以便有人可以帮助您。我添加了更多的sc快照,包括MyModel.context、department.cs和Employee.cs。请引导我去哪里,建立我在回答中提到的下拉列表。综上所述,您已经将表单的每个字段都指向了您的员工
模型字段,除了部门id
。您需要使用DropdownListFor
helper来获取所选的部门Id。@Html。DropdownList
在这种情况下对您没有帮助。