MurugappanCTS Ответов: 1

Как вернуть SelectList из SelectListItem?


Привет Друзья,
Я работаю с Dropdownlist в mvc4 . Мне нужно вернуть список выбора, чтобы привязать выпадающий список к редактированию . но я получаю ошибку "не может неявно преобразовать тип" System.Web.Mvc.SelectList " в " System.Коллекции.Универсальный.Список<система.веб.в MVC.списка и GT;" . Поэтому, пожалуйста, помогите мне перейти в 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;


}



обзорная страница:

<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>

Foothill

Начиная С Системы.Коллекции.Общий.List и System.Web.Mvc.SelectList не являются производными от одних и тех же базовых классов (за исключением Object), вы не можете выполнить явное или неявное преобразование для них. Проще всего было бы сделать копию один к одному между списками.

1 Ответов

Рейтинг:
0

Member 12876431

тип возвращаемого действия-List & lt;SelectList> Но вы возвращаете s1, который является единственным объектом, а не списком