У меня есть раскрывающийся список в режиме редактирования, который имеет значение из базы данных. Что я хочу сделать, это отобразить сохраненное значение в отдельном выпадающем списке. Например, я сохранил две разные данные в базе данных с одним и тем же внешним ключом, чтобы определить, что эти две записи рассматриваются как одна. (См. Пример изображения ниже)
https://imgur.com/ex57YTO
Я использую только раскрывающийся список с одним выбором, и я только зацикливаю количество записей, чтобы определить, сколько раскрывающихся списков нужно отобразить на странице редактирования. Поэтому, если у меня есть события «Нет вреда» и «Жалобы», это должно отображаться в отдельном раскрывающемся списке, потому что то, что я сделал сейчас, они оба отображают в одном раскрывающемся списке, поэтому в результате получается, что запись дублируется (см. изображение ниже), но на самом деле эти две записи находятся в каждом раскрывающемся списке.
https://imgur.com/YlVZHWx
https://imgur.com/FXYO4Tn
VIEW
//for loop to count records that will determine how many dropdown list to be displayed
@for (var i = 0; i < Model.SavedEventsToList.Where(a => a.incidentReportId == Model.IRId).Count(); i++)
{
<tr>
<td style="border-bottom:none !important;border-top:none !important;">
<div class="input-group">
<select class="form-control pseEventDDLInEdit" id="pseEventListInEdit" name="pseAddedEvent">
@{
foreach (var item in Model.SavedEventsToList)
{
if (item.selected == "yes")
{
if (item.incidentReportId == Model.IRId) //this is the foreign key that determine these two records are as one
{
<option value=@item.pseEventsId selected>@item.pseEventsName</option>
}
}
else
{
<option value=@item.pseEventsId>@item.pseEventsName</option>
}
}
}
</select>
</div>
</td>
</tr>
}
CONTROLLER
public ActionResult Edit(Guid? id)
{
IMRBusinessLogic imrLogic = new IMRBusinessLogic();
var imrRepo = new IMRRepository();
IMRDTO imr = imrRepo.GetIRDetailsForEdit(id);
imr.SavedEventsToList = imrLogic.SavedEvents(id);
return View(imr);
}
public List<PSESavedEventsDTO> SavedEvents(Guid? incidentReportId)
{
using (IREntities db = new IREntities())
{
var events = (from a in db.SavedPatientSafetyEvents(incidentReportId)
select new PSESavedEventsDTO
{
pseSavedEventId = a.pse_saved_event_category_and_subcategory_id,
pseEventsId = a.pse_events_id,
pseEventsName = a.pse_events_name,
seqNum = a.seq_num,
incidentReportId = a.incident_report_id,
savedRowIndex = a.saved_row_index,
selected = a.selected
}).ToList();
return events;
}
}
Мне нужно разделить их, чтобы у пользователя все еще была возможность редактировать каждую из этих двух записей.
Это ожидаемый результат, который мне нужен: https://imgur.com/uwVjvkz
Может кто-нибудь помочь мне с этим.
Заранее спасибо.