Asp. Net ядро ​​MVC Microsoft Entity Framework - PullRequest
0 голосов
/ 01 мая 2020

У меня одна проблема с моим MVC asp. net основным сайтом. Я пытаюсь получить данные из базы данных, а затем вставить их в поле со списком. Я действительно не знаю, что вызывает появление этого сообщения об ошибке: Сообщение об ошибке
Мой запуск

services.AddDbContext<ConnectionStringClass>(options => options.UseSqlServer(Configuration.GetConnectionString("GETDATA"))); //Stored in json

Мой Index.cs html в / Views / Home

@{
    ViewData["Title"] = "Home Page";
}
<select id="Select1" asp-items="@(new SelectList(Model.displaydata,"Id","CisloReklamace"))">
            <options value="" selected disabled>

            </options>
        </select>

Мой HomeController в / Views / Home

private readonly ILogger<HomeController> _logger;
        private readonly ConnectionStringClass _db;

        public HomeController(ILogger<HomeController> logger, ConnectionStringClass db)
        {
            _logger = logger;
            _db = db;
        }

        public IEnumerable<EmpClass> displaydata { get; set; }

        public async Task OnGet()
        {
            displaydata = await _db.Reklamace.ToListAsync();
        }

        public IActionResult Index()
        {
            var model = new HomeController(_logger, _db);
            return View(model);
        }

        public IActionResult Privacy()
        {
            return View();
        }

        [AllowAnonymous]
        [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]
        public IActionResult Error()
        {
            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
        }

Мой EmpClass в .Models

public class EmpClass
    {
        [Key]
        public int Id { get; set; }
        public string CisloReklamace { get; set; }
        public string IdAdresa { get; set; }
        public string Zakazka { get; set; }
    }

Мой ConnectionStringClass в .Models

public class ConnectionStringClass: DbContext
    {
        public ConnectionStringClass(DbContextOptions<ConnectionStringClass> options): base(options)
        {

        }

        public DbSet<EmpClass> Reklamace { get; set; }
    }

Спасибо за любую помощь.

1 Ответ

0 голосов
/ 01 мая 2020

Контроллер

    public async Task<IActionResult> Index()
    {
        var model = await _db.Reklamace.ToListAsync();
        return View(model);
    }

view

@model IEnumerable<EmpClass>

<select id="Select1" asp-items="@(new SelectList(Model.displaydata,"Id","CisloReklamace"))">
            <options value="" selected disabled>

            </options>
        </select>

В контроллере вы передаете модель, которая попала в поле зрения @model IEnumerable<EmpClass>. В своем коде вы пытаетесь передать модель как HomeController. Таким образом, ваше представление не может связать модель, и вы получили ошибку = пустое исключение

...