我试图遍历数据库中存在的每个“类别”,并将其放入下拉列表中,但是却给了我很长的代码,以这个开头:
System.Data.Entity.DynamicProxies
我不确定为什么吗?以及如何解决。起初,我认为这是由于我没有在同一模型中使用“类别”,但是当我在同一模型中加入“分类”时,似乎并没有真正改变。
因此,我尝试在Internet上进行搜索,但是似乎找不到与我所遇到的问题类似的东西。
所以我想知道,是什么原因导致的,在这种情况下可以使用哪种解决方案?
我试图做的是: 将类别从数据库中循环到下拉菜单中,以便显示所有类别,而无需在html _layout文件中键入它们。
这里是我的代码:
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);
}
答案 0 :(得分:1)
您必须访问集合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>