ElenaRez Ответов: 1

Как изменить значение textfiled списка выбора, чтобы показать другую таблицу, хранящуюся в нем ASP.NET сердечник


Привет. Я новичок в реализации asp.net основной проект. Используя методологию CRUD, я создал проект MVC. В одном из моих классов контроллеров, называемом ApiApplicantController, в его действии редактирования есть выражение, подобное приведенному ниже:

ViewData["Apiid"] = новый список выбора(_context.АПИ "идентификатор", "идентификатор", apiapplicant.Apiid);

что для меня совершенно непонятно.
Существует таблица под названием Api,которая содержит следующие поля: Id,name, lastVersion
Кроме того, существует еще одна таблица под названием apiapplicant, которая имеет следующий файл: ApiApplicantId, reqNo, Apiid, который является fk для ApiID. Теперь я хочу, чтобы пользователь, когда хочет отредактировать запись, в списке выбора показывал имена Api, а не идентификаторы. Соответственно, как я могу внести эти изменения в вышеприведенный список выбора?

Что я уже пробовал:

ViewData["Apiid"] = new SelectList(_context.Api, "Id", "Id", apiapplicant.Apiid);

1 Ответов

Рейтинг:
0

Richard Deeming

То SelectList конструктор, который вы вызываете, принимает четыре параметра:

  • Список элементов для отображения (_context.Api);
  • Имя свойства элемента, которое предоставляет значение элемента списка ("Id");
  • Имя свойства элемента, которое содержит текст элемента списка (также "Id");
  • Значение выбранного элемента (apiapplicant.Apiid);

Чтобы изменить текст, отображаемый в списке, необходимо изменить третий параметр:
ViewData["Apiid"] = new SelectList(_context.Api, "Id", "name", apiapplicant.Apiid);
Конструктор SelectList (Microsoft.AspNetCore.В MVC.Перевода) | Майкрософт Документы[^]