Hi Friends,
I am Working with Dropdownlist in mvc4 . I need to return a selectlist to bind the dropdown on edit . but I am getting an error "Cannot implicitly convert type 'System.Web.Mvc.SelectList' to 'System.Collections.Generic.List<system.web.mvc.selectlist>" . So kindly help me to convert to SelectList
controller:
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 });
}
}
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>