Решение типа ошибки «System.String» для типа «System.Int32»C#

Место общения программистов C#
Ответить
Anonymous
 Решение типа ошибки «System.String» для типа «System.Int32»

Сообщение Anonymous »


У меня есть база данных Bibliotheek с таблицей dbo.boek со столбцами: Boek_ID (ключ) и Boek_Genre(nvarchar(max),not null).

Для Boek_Genre я тестировал SelectListItem и SelectList, чтобы использовать раскрывающийся список. Это прекрасно работает.

Теперь я хочу протестировать выпадающий список с помощью enum. Однако выдает ошибку : невозможно привести объект типа «System.String» к типу «System.Int32». Я не могу отладить, откуда именно это взялось. Кажется, что строка используется для целого числа (перечисления?), однако какое именно.
Ошибка относится к index.cshtml.cs (Boek = await _context.Boek.ToListAsync();)

Я использую базовые страницы Razor только для создания, редактирования, удаления и просмотра, а теперь пытаюсь научиться использовать перечисление для раскрывающегося списка. Я много читал о преобразовании перечисления (значение — int) в строку, но дело в том, что ошибка записывает строку в int error.

Может ли кто-нибудь подсказать мне, как решить эту проблему?
пространство имен Bibliotheek.Datamodels { книга публичного класса { [Ключ] общественный ИНТ Boek_ID {получить; набор; } [Показать(Имя = "Жанр")] общественные жанры книг Boek_Genre {get; набор; } [Показать(Имя = "Название")] } } пространство имен Bibliotheek.Datamodels; общедоступное перечисление Boekgenres { [Display(Name = «Нет»)] Нет = 0, [Display(Name = "Roman")] Roman = 1, [Display(Name="Триллер")] Триллер = 2 } @page @using Bibliotheek.Datamodels @model Bibliotheek.Pages.Boeken.CreateModel @{ ViewData["Название"] = "Создать"; } Создать Книга Вернуться к списку Получить инструкции @section Скрипты { @{await Html.RenderPartialAsync("_ValidationScriptsPartial");} } пространство имен Bibliotheek.Pages.Boeken { общедоступный класс IndexModel: PageModel { частная библиотека Bibliotheek.Data.BibliotheekContext только для чтения _context; общедоступная IndexModel (контекст Bibliotheek.Data.BibliotheekContext) { _контекст = контекст; } общественный IList Boek {get;set; } = по умолчанию!; общедоступная асинхронная задача OnGetAsync() { если (_context.Book != ноль) { Книга = ждут _context.Boek.ToListAsync(); } } } } Создание базы данных СОЗДАТЬ ТАБЛИЦУ [dbo].[Book] ( Boek_ID int IDENTITY(1,1) ПЕРВИЧНЫЙ КЛЮЧ, Boek_Genre nvarchar (макс.) НЕ NULL, Boek_Titel nvarchar(max) НЕ NULL, Book_Serienummer int, Бук_Шрайвер нварчар (50), Boek_Prijs десятичное (10,2) НЕ НОЛЬ, Book_ISBN nvarchar (50), Boek_Uitgifte datetime2(7) НЕ НОЛЬ, Boek_Gelezen datetime2(7) НЕ НУЛЬ ) ИДТИ
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»