我有这个控制器方法
[HttpGet]
public IActionResult DeleteMake(int id)
{
var data = _dbContext.VehicleMake.Find(id);
return View(data);
}
我为此生成了一个删除视图。我假设基于单击删除的实体,它将获得其信息。没有。我不知道为什么参数中的id始终为0。足够有趣的是,如果您输入... / DeleteMake / 1之类的内容,则它对ID为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);
}