Я пытаюсь создать динамическую таблицу, используя модель MVC. Это моя модель.
public class PrescriptionEditModel
{
[Required]
public Guid Id { get; set; }
[Required]
[Display(Name = "Medicine List")]
public List<PrescriptionMedicineModel> PrescriptionList { get; set; }
}
открытый класс PrescriptionMedicineModel
{
[Required]
public Guid Id { get; set; }
[Required]
[Display(Name = "Medicine")]
public Guid MedicineId { get; set; }
[Required]
[Display(Name = "Prescription Duration")]
public Guid PrescriptionDurationId { get; set; }
public string NumberOf { get; set; }
}
И код моего контроллера
public ActionResult Create()
{
ViewBag.PatientId = new SelectList(db.Patients.Where(h => h.HospitalId == hp.HospitalId), "Id", "FirstName");
ViewBag.MedicineId = new SelectList(db.Medicines.Where(h => h.HospitalId == hp.HospitalId), "Id", "Name");
ViewBag.PrescriptionFrequencyId = new SelectList(db.PrescriptionFrequencies.Where(h => h.HospitalId == hp.HospitalId), "Id", "Name");
PrescriptionMedicineModel prescription = new PrescriptionMedicineModel()
{
MedicineId = Guid.Empty,
PrescriptionDurationId = Guid.Empty,
PrescriptionFrequencyId = Guid.Empty,
PrescriptionWhentoTakeId = Guid.Empty
};
List<PrescriptionMedicineModel> newPrescriptionList = new List<PrescriptionMedicineModel>();
newPrescriptionList.Add(prescription);
PrescriptionEditModel newModel = new PrescriptionEditModel()
{
CaseHistory = null,
DoctorName =null,
HospitalId = hp.HospitalId,
PatientId = Guid.Empty,
PrescriptionDate = null,
PrescriptionList = newPrescriptionList
};
return View(newModel);
}
И мой взгляд
<table class="table table-hover">
<thead>
<tr>
<th>Medicine Name</th>
<th>Duration</th>
</tr>
</thead>
<tbody>
@for (var i = 0; i < Model.PrescriptionList.Count; i++)
{
<tr>
<td>@Html.DropDownListFor(m => Model.PrescriptionList[i].MedicineId, new SelectList(ViewBag.MedicineId, "Id", "Name"))</td>
<td>@Html.DropDownListFor(m => Model.PrescriptionList[i].PrescriptionDurationId, new SelectList(ViewBag.PrescriptionFrequencyId, "Id", "Name"))</td>
</tr>
}
</tbody>
Это приводит к ошибке «DataBinding:« System.Web.Mvc.SelectListItem »не содержит свойства с именем« Id ».]».
Я пытаюсь создать список лекарств со списком предметов, чтобы пользователи могли редактировать сведения о лекарстве. Пользователь должен иметь возможность редактировать элементы.
DropDownListFor не привязывает элементы к выпадающему.
Любые мысли