C# 在创建视图ASP.Net MVC中将数据插入多个表
我试图在C# 在创建视图ASP.Net MVC中将数据插入多个表,c#,entity-framework,asp.net-mvc-4,partial-views,C#,Entity Framework,Asp.net Mvc 4,Partial Views,我试图在创建视图中向两个表插入数据。我有一个表User和另一个表WorkingHours。WorkingHours表定义了每个User每周的工作时间。我希望能够在添加用户的同时添加用户的工作时间,因此它必须是相同的视图。我一直在浏览如何实现这一点的示例,主要是使用PartialViews 我随后将数据插入Users和WorkingHours表中 这些是每个表的类(我在这里首先处理模型): 用户 namespace Common { using System; using Syst
创建视图中向两个表插入数据。我有一个表User
和另一个表WorkingHours
。WorkingHours
表定义了每个User
每周的工作时间。我希望能够在添加用户的同时添加用户的工作时间
,因此它必须是相同的视图
。我一直在浏览如何实现这一点的示例,主要是使用PartialViews
我随后将数据插入Users
和WorkingHours
表中
这些是每个表的类(我在这里首先处理模型):
用户
namespace Common
{
using System;
using System.Collections.Generic;
public partial class User
{
public User()
{
this.WorkingHours = new HashSet<WorkingHours>();
}
public int ID { get; set; }
public string Name { get; set; }
public string Surname { get; set; }
public string Email { get; set; }
public string Password { get; set; }
public virtual ICollection<WorkingDay> WorkingDays { get; set; }
}
}
并在用户
构造函数中填充工作时间
列表。将partial的模型更改为用户
,并按如下方式呈现编辑器:
@Html.EditorFor(model => model.WorkingHours.HoursFrom)
我通过在Create
方法中将User
对象传递给视图
解决了这个问题
public ActionResult Create()
{
User u = new Common.User();
return View(u);
}
public ActionResult Create()
{
User u = new Common.User();
return View(u);
}
我正在填充用户
构造函数中的工作时间
列表:
// Monday to Friday (0 to 4 - using an enum: DaysEnum), default hours 08:00 to 17:00
for (int i = 0; i < 5; i++)
{
this.WorkingHours.Add(new WorkingHour
{
WeekDay = i,
HoursFrom = 8,
HoursTo = 17
});
}
//周一到周五(0到4-使用枚举:DaysEnum),默认时间为08:00到17:00
对于(int i=0;i<5;i++)
{
此.WorkingHours.Add(新工作小时
{
工作日=我,
小时自=8,
小时到=17
});
}
在这种情况下,这是有意义的,因为列表每天都有默认值。您可以发布生成的HTML以及您的操作吗?请注意,在两个局部视图中,您都导入相同的js库,您不应该这样做,因为WorkingHours
被设置为User
类中的一个列表,我无法访问WorkingHours
属性。如果没有部分设置,请执行表单。然后我们将讨论将工作时间提取到partialYep中,这就是我所做的:)也发布了一个答案
public ActionResult Create()
{
User u = new Common.User();
return View(u);
}
@Html.EditorFor(model => model.WorkingHours.HoursFrom)
public ActionResult Create()
{
User u = new Common.User();
return View(u);
}
// Monday to Friday (0 to 4 - using an enum: DaysEnum), default hours 08:00 to 17:00
for (int i = 0; i < 5; i++)
{
this.WorkingHours.Add(new WorkingHour
{
WeekDay = i,
HoursFrom = 8,
HoursTo = 17
});
}