У меня есть начало приложения ASP.NET MVC3, которое должно реализовывать планирование. В моей модели есть следующее:
public class Schedule
{
public int ScheduleID { get; set; }
public bool isDisabled { get; set; }
[DisplayName("For Delivery")]
public bool isDeliver { get; set; }
public int Count { get; set; }
public virtual ICollection<TimeofDay> Times { get; set; }
public virtual Location Location { get; set; }
public int Week { get; set; }
public int weekday { get; set; }
}
public class TimeofDay
{
[Key]
public int TimeID {get;set;}
public DateTime Time { get; set; }
}
Предполагается, что модель принимает 0 или более объектов времени дня, которые я передаю, используя JavaScript для создания нового поля ввода:
function createtimefield() {
var TimeDiv = document.getElementById('timefields');
var newDivInput = document.createElement("input");
newDivInput.name = "Times";
idText="Time" + GLOBAL_timeDivIdCount++;
newDivInput.id = idText;
newDivInput.value = "12:00 am";
TimeDiv.appendChild(newDivInput);
}
Мой контроллер будет работать файл для принятия переданных данных, пока я не добавлю данные в поля времени. Предполагается, что это создаст новые сущности в таблице TimeofDay, которая генерируется моделью, и свяжется с ScheduleID. Я не хочу, чтобы два интерфейса вводили эти простые данные, но не могу найти способ создать обе сущности с MVC3 за одно действие. У кого-нибудь есть идеи?
Andrew
(Спасибо, что читаете)
По запросу контроллер был:
public ActionResult Create(Schedule schedule, string[] schedTimes)
{
if (ModelState.IsValid)
{
Schedule newschedule = db.Schedule.Add(schedule);
db.SaveChanges();
return RedirectToAction("Index");
}
......
}
Теперь я понимаю, что мне нужно создать модель представления, которая будет охватывать как мой класс расписания, так и массив строк. Я создам расписание, а затем переберу массив строк и создам объекты TimeofDay