У меня есть этот метод контроллера
[HttpGet]
public IActionResult DeleteMake(int id)
{
var data = _dbContext.VehicleMake.Find(id);
return View(data);
}
Я создал для него представление удаления.Я предполагал, что на основе сущности, на которой я нажал кнопку «Удалить», он получит информацию.Это не так.Я не знаю почему.Идентификатор в параметре всегда равен 0. Достаточно интересно, если вы наберете что-то вроде ... / DeleteMake / 1, то оно работает с идентификатором 1. Просто не работает с представлением.
Это представление
@model Data.Entities.VehicleMakeEntity
@{
ViewData["Title"] = "DeleteMake";
}
<h2>DeleteMake</h2>
<h3>Are you sure you want to delete this?</h3>
<div>
<h4>VehicleMakeEntity</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.Id)
</dt>
<dd>
@Html.DisplayFor(model => model.Id)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Name)
</dt>
<dd>
@Html.DisplayFor(model => model.Name)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Abrv)
</dt>
<dd>
@Html.DisplayFor(model => model.Abrv)
</dd>
</dl>
<form asp-action="DeleteMake">
<input type="submit" value="Delete" class="btn btn-default" /> |
<a asp-action="Index">Back to List</a>
</form>
И метод, который я использую для фактического перечисления всех элементов
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);
}