如何解决ASP.NET MVC:如何从同样位于列表中的列表中删除元素
我有一个啤酒商列表,每个啤酒商都有一个啤酒商列表。在我的练习中,我需要从特定的Brewer中删除Beer。
我看到了啤酒商列表,单击详细信息,然后看到了该啤酒商拥有的所有啤酒的名称。
我了解如何删除酿酒者,但不了解如何从该酿酒者中删除啤酒。我肯定需要一个啤酒制造者ID和一个啤酒ID。
<td>
<a asp-controller="Brewer" asp-action="BeerDelete" asp-route-id="@item.BeerId">Delete</a>
</td>
在这里我有一个啤酒ID,但是如何再次获得Brewer ID?
这是删除Brewer的代码
[HttpPost,ActionName("Delete")]
public IActionResult DeleteConfirmed(int id)
{
Brewer brewer = null;
try
{
brewer = _brewerRepository.GetBy(id);
_brewerRepository.Delete(brewer);
_brewerRepository.SaveChanges();
TempData["message"] = $"You successfully deleted brewer { brewer.Name}.";
}
catch
{
TempData["error"] = $"Sorry,something went wrong,brewer { brewer?.Name} was not deleted…";
}
return RedirectToAction(nameof(Index));
}
我是否需要在某个地方保存啤酒酿造商的ID? 或者当我在他的页面上查看“啤酒清单”时,是否有可能获得啤酒的ID?
删除布鲁尔 网址:…/ Brewer / Delete / 4
删除啤酒 URL:... /啤酒/啤酒/删除/ {id} ????? 希望我把它说的足够好..
我试图这样做:
public IActionResult BeerDelete(int id)
{
ViewData[nameof(Beer.Name)] = _brewerRepository.GetBy(id).Beers.FirstOrDefault(e => e.BeerId == id).Name;
return View();
}
亲切的问候,ilya
解决方法
这是从啤酒机中删除啤酒的多种方法之一。我假设您的啤酒中有ForeignKey
的啤酒。如果我确实知道Brewer
和Beer
类是如何建立的,我会更精确。
查看
<td>
<a asp-controller="Brewer" asp-action="BeerDelete" asp-route-id="@item.BeerId" asp-route-brewerId="@item.BrewerId">Delete</a>
</td>
控制器
public IActionResult BeerDelete(int id,int brewerId)
{
// This would select the beer and pass it into the view as the view's model.
// Brewer should also be populated for this beer.
var beer = _brewerRepository.GetBy(brewerId).Beers.FirstOrDefault(e => e.BeerId == id);
return View(beer);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。