私は mvc4 で DropdownList を使用しています。編集時にドロップダウンをバインドするために選択リストを返す必要がありますが、エラーが発生します"Cannot implicitly convert type 'System.Web.Mvc.SelectList' to 'System.Collections.Generic.List<System.Web.Mvc.SelectList>"
。SelectListに変換するのを手伝ってください
コード:
public List<SelectList> SelectDoctoronEdit(int id)
{
Gema_Doctor[] doctorList;
doctorList = gema_Doctor.GetDoctor().ToArray();
List<Gema_Doctor> listDoctor = new List<Gema_Doctor>(doctorList);
List<SelectListItem> dropItems = new List<SelectListItem>();
RDM_Patient patientsSelect = rdm_Patient.GetPatient().First(c => c.PatientID == id);
dropItems.Add(new SelectListItem { Text = "--Select--", Value = "" });
foreach (Gema_Doctor doctorValues in listDoctor)
{
RDM_Patient patients = rdm_Patient.GetPatient().First(c => c.PatientID == id);
if (patients.DoctorID == doctorValues.Dr_Id)
{
dropItems.Add(new SelectListItem { Text = doctorValues.Dr_Name, Value = doctorValues.Dr_Id.ToString(), Selected = true });
}
else
{
dropItems.Add(new SelectListItem { Text = doctorValues.Dr_Name, Value = doctorValues.Dr_Id.ToString(), Selected = false });
}
}
//return dropItems;
SelectList s1 = new SelectList(dropItems, "Value", "Text", patientsSelect.DoctorID);
return s1;
}
View Page:
<tr>
<td>
@Html.LabelFor(M => Model.Patient.City)
@Html.TextBoxFor(M => Model.Patient.City)
</td>
<td>
@Html.LabelFor(M => Model.Patient.Add1)
@Html.TextBoxFor(M => Model.Patient.Add1)
</td>
<td>
@Html.LabelFor(M => Model.Patient.Add2)
@Html.TextBoxFor(M => Model.Patient.Add2)
</td>
</tr>
<tr>
<td>
</td>
<td>
@Html.Label("Doctor")
@Html.DropDownListFor(m => Model.Patient.DoctorID.ToString(), (SelectList)ViewBag.doctorType)
</td>
<td>
</td>
</tr>