Выпадающий список отображается не так, как ожидалось

#c# #asp.net #razor

#c# #asp.net #razor

Вопрос:

Я создал выпадающий список в веб-приложении. Чтобы составить список, который я хотел, мне пришлось объединить два атрибута, FirstName amp; LastName, запросив и создав новую переменную ‘Display’. Теперь вместо отображения «FirstName LastName» для каждого элемента отображается: { Display = FirstName LastName}

Есть ли способ удалить переменную и скобки?

C # Код:

 var professors = _context.Professor.Include(p => p.Courses).Select( p => new {Display = $"{p.FirstName} {p.LastName}"});

ProfessorDropDown = new SelectList (await professors.Distinct().ToListAsync());
  

Страница Razor:

 <select asp-for= "Prof" asp-items="Model.ProfessorDropDown">
            <options value="">--Select Professor--</options>
        </select>
  

Комментарии:

1. Вам не нужно также указывать значение для ваших опций?

2. У меня есть значения, введенные в базу данных. Прямо сейчас все они отображаются в раскрывающемся списке, просто он не отображается чисто. В выпадающем списке я бы хотел просто выбрать все (используя — Выберите профессора—) здесь. В идеале, после выбора опции будет отображаться только информация, связанная с этой опцией.

3. Вы пробовали new SelectList (await professors.Distinct().ToListAsync(), "Display", "Display")

4. Ах! Это сработало. Спасибо.