我正在尝试创建一个简单的视图(分页,排序和过滤)。 我有的方法看起来像这样:
public IEnumerable<VehicleMakeEntity> GetMake(int index, int count,
Expression<Func<VehicleMakeEntity, int>> orderLambda)
{
var data = _makeRepository.SelectListMake(index, count, orderLambda).AsQueryable();
return data;
}
您看到它从存储库中调用了另一个方法,该方法看起来相同
private readonly IQueryable<VehicleMakeEntity> _source;
public MakeRepository(ProjectDbContext context)
{
this.context = context;
_source = this.context.VehicleMake;
}
public IEnumerable<VehicleMakeEntity> SelectListMake(int index, int count,
Expression<Func<VehicleMakeEntity, int>> orderLambda)
{
return _source.Skip(index * count).Take(count).OrderBy(orderLambda);
}
在控制器中,我调用了方法
public IActionResult Make()
{
var data = _vehicleService.GetMake(1, 10, (p => p.Id));
return View(data);
}
它返回一些我不知道如何使用的数据,如此处
我还基于该控制器方法生成了一个视图,一个基本的列表视图,您可以在此处查看
@model IEnumerable<Data.Entities.VehicleMakeEntity>
@using NonFactors.Mvc.Grid;
@{
ViewData["Title"] = "Make View";
}
<h2>Make View</h2>
<p>
<a asp-action="Create">Create New</a>
</p>
<table class="table">
<thead>
<tr>
<th>
@Html.DisplayNameFor(model => model.Id)
</th>
<th>
@Html.DisplayNameFor(model => model.Name)
</th>
<th>
@Html.DisplayNameFor(model => model.Abrv)
</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Id)
</td>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.Abrv)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) |
@Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ })
</td>
</tr>
}
</tbody>
但是网站上没有任何显示。我应该对返回的数据做些什么?我究竟做错了什么?我检查了实体是否不是从数据库中获取信息,而是。
答案 0 :(得分:0)
可以检查以下代码吗?
public IActionResult Make()
{
var data = _vehicleService.GetMake(1, 10, (p => p.Id)).ToList();
return View(data);
}
也尝试删除AsQueryable()
public IEnumerable<VehicleMakeEntity> GetMake(int index, int count, Expression<Func<VehicleMakeEntity, int>> orderLambda)
{
return _makeRepository.SelectListMake(index, count, orderLambda);
}