ASP.NET mvc: rellenar (vincular datos) en el cuadro de lista

Necesito completar dos cuadros de lista con datos de una base de datos. Pero necesito mostrar dos cuadros de lista en una vista, así que creé una clase ListBoxModel.

public class ListboxModel
{
    public ListBox LB1 { get; set; }
    public ListBox LB2 { get; set; }
}

Y en mi controlador:

public ActionResult IndexStudents(Docent docent, int lessonid, int classid)
    {
        var MyListBox = new ListboxModel
        {
            LB1 = new ListBox(docent.ReturnStudentsNormal(lessonid, classid),
            LB2 = new ListBox(docent.ReturnStudentsNoClass(lessonid, classid)
        };
        return View(MyListBox);
    }

Pero este código no funciona, ¿cómo puedo vincular los datos a los cuadros de lista? Así que me gustaría usar 2 modelos, uno para cada cuadro de lista ... uno con estudiantes normales y otro con estudiantes que no están suscritos a las lecciones. ¿Cómo podría hacer eso? ¿Y qué código tengo que escribir en mi opinión? Algo como

<div class="editor-field">
     <%: Html.ListBox("IndexStudentsNormal", Model.LB1) %> 

<div class="editor-field">
      <%: Html.ListBox("IndexStudentsNoClass", Model.LB2) %> 

El cuadro de lista debe ser un cuadro de lista con varias columnas para que pueda contener el nombre, el nombre de usuario, la clase, el profesor del alumno.

Estudiante es un objeto, me gustaría mostrar student.Name, student.Sirname, student.Class, etc. en ese cuadro de lista.

Entonces puedo usar un objeto en un ListBox, o tengo que convertir todo en cadenas?

¿Cómo puedo hacer eso

¡Gracias por adelantado

Respuestas a la pregunta(2)

Su respuesta a la pregunta