asp.net - @Html.DisplayFor(ModelItem => item.Category.Name) 不显示类别名称
问题描述
我的项目有 2 个实体;书 - 类别。
我想显示所有书籍都有一个类别。但是 @Html.DisplayFor(ModelItem => item.Kategori.Ad) 不显示类别名称。
它应该显示在本地主机上,但不显示。我添加了关于那个的图片。有什么解决办法吗?
我的查看页面。
{@using BenimKutuphanem.Areas.AdminPaneli.Models
@model IEnumerable<BenimKutuphanem.Entity.Kitap>
@{
ViewBag.Title = "Kitap Listesi";
}
<p>
@Html.ActionLink("Yeni Kitap Ekle", "Create")
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Foto)
</th>
<th>
@Html.DisplayNameFor(model => model.Ad)
</th>
<th>
@Html.DisplayNameFor(model => model.Yazar)
</th>
<th>
@Html.DisplayNameFor(model => model.Kategori)
</th>
<th></th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
<img src="/@Html.DisplayFor(modelItem => item.Foto)" alt="Resim" width="250"/>
</td>
<td>
@Html.DisplayFor(modelItem => item.Ad)
</td>
<td>
@Html.DisplayFor(modelItem => item.Yazar)
</td>
<td>
@Html.DisplayFor(ModelItem => item.Kategori.Ad)
</td>
<td>
@Html.ActionLink("Düzenle", "Edit", new { id = item.Id }) |
@Html.ActionLink("Detaylar", "Details", new { id = item.Id }) |
@Html.ActionLink("Sil", "Delete", new { id = item.Id })
</td>
</tr>
}
</table>
}
控制器
using BenimKutuphanem.Entity;
using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace BenimKutuphanem.Areas.AdminPaneli.Controllers
{
public class KitapController: Controller
{
private BenimKutuphanemEntities context = new BenimKutuphanemEntities();
// GET: AdminPaneli/Kitap/Index
public ActionResult Index()
{
var kitaplar = context.Kitap.ToList();
return View(kitaplar);
}
// GET: AdminPaneli/Kitap/Create
public ActionResult Create()
{
List<SelectListItem> degerler = (from i in context.Kategori.ToList()
select new SelectListItem
{
Text = i.Ad,
Value = i.Id.ToString()
}).ToList();
ViewBag.dgr = degerler;
return View();
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(Kitap kitap, HttpPostedFileBase Foto)
{
if (ModelState.IsValid)
{
if (Foto.ContentLength > 0)
{
var image = Path.GetFileName(Foto.FileName);
var path = Path.Combine(Server.MapPath("/Areas/AdminPaneli/Images/"), image);
Foto.SaveAs(path);
kitap.Foto = "Areas/AdminPaneli/Images/" + image;
try
{
context.Kitap.Add(kitap);
context.SaveChanges();
ViewBag.Bilgi = "Kitap veritabanına başarıyla kaydedildi.";
}
catch (Exception e)
{
ViewBag.Bilgi = "Kaydetme işlemi başarısız." + e.Message;
}
}
}
List<SelectListItem> degerler = (from i in context.Kategori.ToList()
select new SelectListItem
{
Text = i.Ad,
Value = i.Id.ToString()
}).ToList();
ViewBag.dgr = degerler;
return View();
}
// GET: AdminPaneli/Kitap/List
public ActionResult List()
{
var kitaplar = context.Kitap.ToList();
return View(kitaplar);
}
// GET: AdminPaneli/Kitap/Details
public ActionResult Details(int id)
{
var kitap = context.Kitap.Find(id);
return View(kitap);
}
// GET: AdminPaneli/Kitap/Edit
public ActionResult Edit(int id)
{
List<SelectListItem> degerler = (from i in context.Kategori.ToList()
select new SelectListItem
{
Text = i.Ad,
Value = i.Id.ToString()
}).ToList();
ViewBag.dgr = degerler;
var kitap = context.Kitap.Find(id);
return View(kitap);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(int id, Kitap kitap)
{
List<SelectListItem> degerler = (from i in context.Kategori.ToList()
select new SelectListItem
{
Text = i.Ad,
Value = i.Id.ToString()
}).ToList();
ViewBag.dgr = degerler;
context.Entry(kitap).State = EntityState.Modified;
context.SaveChanges();
return RedirectToAction("List");
}
// GET: AdminPaneli/Kitap/Delete
public ActionResult Delete(int id)
{
var kitap = context.Kitap.Find(id);
return View(kitap);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Delete(int id, Kitap kitap)
{
var _kitap = context.Kitap.Find(id);
context.Kitap.Remove(_kitap);
context.SaveChanges();
return RedirectToAction("List");
}
}
}
输出:
解决方案
修复此查询
public ActionResult List()
{
var kitaplar = context.Kitap.Include(i=>i.Kategori).ToList();
return View(kitaplar);
}
如果您在其他地方遇到相同的错误,也请以相同的方式修复。
推荐阅读
- c - Realloc 现有数据正在丢失
- python - 如何在整个熊猫列上应用 json_normalize
- ruby-on-rails - 活动存储 - 带有 URL 或路径的原始文件扩展名
- c++ - 我如何从 C++ 中操作 csv
- i2c - 与 Wire.h(ESP32) 的 I2C 通信
- python-3.x - 我应该使用循环还是坚持使用嵌套的 if 语句?
- python - 如何使用数据框拆分新列中的两个 CSV 文件列,在熊猫中显示匹配项?
- c++ - C ++如何抛弃函数的虚拟性并调用基函数,而不是重写
- java - 块末尾的意外内容 - 是什么构建了损坏的流?
- python - 我如何获得水平小提琴图或箱线图?(在 hvplot 全息视图中默认为垂直)