Я в основном хочу получить выбранную строку в списке и иметь возможность получить идентификатор из другой таблицы. У меня есть следующие таблицы: учитель и посещаемость . Таблица учителя - это та, которая отображает список, и я хочу отобразить / показать идентификатор учителя в EditDaily Controller и иметь возможность вставить таблицу посещаемости вместе с идентификатором учителя.
Таблицы = учитель, посещаемость
Контроллер = Индекс, EditDaily
Код: Модель - Учитель
public partial class teacher
{
public int TeacherId { get; set; }
[StringLength(50)]
public string Firstname { get; set; }
[StringLength(50)]
public string Lastname { get; set; }
[StringLength(50)]
public string IdNumber { get; set; }
[StringLength(50)]
public string Email { get; set; }
[StringLength(50)]
public string Course { get; set; }
[Column(TypeName = "date")]
public DateTime? OneDate { get; set; }
[Column(TypeName = "date")]
public DateTime? TwoDate { get; set; }
public virtual ICollection<DailyAttendance> DailyAttendances { get; set; }
}
Код: Посещаемость
public partial class DailyAttendance
{
public int Id { get; set; }
public int? TeacherId { get; set; }
[StringLength(200)]
public string Subject { get; set; }
[StringLength(50)]
public string Day { get; set; }
[StringLength(50)]
public string Firstname { get; set; }
[StringLength(50)]
public string Lastname { get; set; }
[StringLength(50)]
public string IdNumber { get; set; }
[StringLength(50)]
public string Email { get; set; }
[StringLength(50)]
public string Course { get; set; }
[Column(TypeName = "date")]
public DateTime? OneDate { get; set; }
[Column(TypeName = "date")]
public DateTime? TwoDate { get; set; }
public virtual teacher Teacher { get; set; }
}
Контроллер:
public ActionResult Index(string ddlcontent, DateTime? startdate, DateTime? enddate)
{
var list = new List<string>();
var nameqry = from n in db.teachers
select n.Course;
list.AddRange(nameqry.Distinct());
ViewBag.ddlcontent = new SelectList(list);
var names = from m in db.teachers
select m;
var tb_teachers = db.teachers.Where(x => x.OneDate >= startdate && x.OneDate <= enddate && x.Course.Contains(ddlcontent)).ToList();
return View(tb_teachers.ToList());
}
public ActionResult EditDaily()
{
ViewBag.TeacherId = new SelectList(db.teachers, "TeacherId", "FirstName");
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult EditDaily([Bind(Include = "Id,TeacherId,Subject,Day")] DailyAttendance dailyy)
{
if (ModelState.IsValid)
{
//db.Entry(dailyy).State = EntityState.Modified;
db.DailyAttendances.Add(dailyy);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.AccountHolderId = new SelectList(db.teachers, "AccountHolderId", "FirstName", dailyy.TeacherId);
return View(dailyy);
}