System.Data.Entity.DynamicProxies foreach - PullRequest
0 голосов
/ 05 марта 2019

Я пытался вычеркнуть каждую «категорию», которая есть в моей базе данных, и поместить ее в выпадающий список, но вместо этого он дает мне длинный код, начинающийся с этого:

System.Data.Entity.DynamicProxies

Я не совсем уверен, почему? И как это исправить. Сначала я подумал, что это из-за того, что у меня не было «категорий» в одной модели, но, поскольку я присоединился к ней в той же модели, казалось, ничего не изменилось.

Итак, я пытался искать в интернете, но я не мог найти то, что напоминало бы проблему, с которой я столкнулся.

Итак, я хочу знать, что является причиной этого и какие решения доступны в этом случае?

Что я пытался сделать: Зациклите категории из базы данных в раскрывающемся меню, чтобы все категории были показаны, не вводя их в файл html _layout.

Example of the problem

Вот мой код:

function dropFunction() {
    document.getElementById("inDrop").classList.toggle("show");
}

window.onclick = function (event) {
    if (!event.target.matches('.dropBtn')) {
        var dropdowns = document.getElementsByClassName("dropCon");
        var i;
        for (i = 0; i < dropdowns.length; i++) {
            var openDropdown = dropdowns[i];
            if (openDropdown.classList.contains('show')) {
                openDropdown.classList.remove('show');
            }
        }
    }
}
@model Fisk.Models.ALL



<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>@ViewBag.Title</title>
    <link href="~/Content/css/Common.min.css" rel="stylesheet" />
    <link href="~/Content/css/bootstrap.min.css" rel="stylesheet" />
    <script src="~/Scripts/modernizr-2.6.2.js"></script>
</head>
<body>

    <div class="container-fluid">
        <div class="row">
            <div class="col-lg-8">
                <h2>Fisk.nu</h2>
            </div>
            <div class="col-lg-4">
                <form action="/" method="post">
                    <input type="text" name="name" value="" class="col-md-8" />
                    <input type="button" name="name" value="Søg" class="col-md-3" />
                </form>
            </div>
        </div>

        <ul id="navMenu">
            <li><a href="~/Views/Home/Index.cshtml">Forsiden</a></li>
            <li class="dropdown">
                <button onclick="dropFunction()" class="dropBtn">Produkter</button>
                <ul id="inDrop" class="dropCon">
                    @foreach (var item in Model.Kategorier)
                    {
                        <li class="dropList"><a href="">@item</a></li>
                    }
                </ul>
            </li>
        </ul>


        @RenderBody()
        <footer>
            <p>Fisk.nu, Silovej 2, DK-8000 Århus C, Tlf. +45 87 11 12 13, info@fisk.nu</p>
        </footer>
    </div>


    <script src="~/Content/js/bootstrap.min.js"></script>
    <script src="~/Content/js/jquery-3.3.1.min.js"></script>
    <script src="~/Content/js/Slider.js"></script>
    <script src="~/Content/js/Dropdown.js"></script>
</body>
</html>
Heres the Home Controller: 

public ActionResult Index()
{

    var ViewModel = new Fisk.Models.ALL();

    ViewModel.tekstBoks = db.front_TekstBoks.ToList();
    ViewModel.Slider = db.front_Slider.ToList();
    ViewModel.Kontakt = db.web_Kontakt.FirstOrDefault();
    ViewModel.Kategorier = db.site_Kategorier.ToList();

    List<front_Slider> sliders = new List<front_Slider>();
    List<front_TekstBoks> tekstBoks = new List<front_TekstBoks>();
    List<site_Kategorier> kategorier = new List<site_Kategorier>();

    return View(ViewModel);
}

1 Ответ

1 голос
/ 05 марта 2019

Вам необходимо получить доступ к свойству сущности в вашей коллекции. Kategorier -> Kategori, например @ item.Name или что-то еще. В противном случае вы просто печатаете результат ToString ()

<ul id="inDrop" class="dropCon">
                @foreach (var item in Model.Kategorier)
                {
                    <li class="dropList"><a href="">@item.Name</a></li>
                }
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...