【问题标题】:How to delete a object from database in ASP.NET MVC?如何从 ASP.NET MVC 中的数据库中删除对象?
【发布时间】:2021-05-29 17:46:51
【问题描述】:

我想使用 ASP.NET MVC 从我的数据库中删除一个对象。我已经使用实体框架连接到数据库。我为名为@9​​87654321@ 的控制器编写了这段代码。

// DELETE-POST
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Delete(int? id)
{
    var obj = _db.Project.Find(id);

    if(obj == null)
    {
        return NotFound();
    }

    _db.Project.Remove(obj);
    _db.SaveChanges();

    return RedirectToAction("Index");
}

然后我创建了一个按钮,其中包含指向我的控制器的链接

<a asp-action="Delete" class="btn btn-danger btn-lg text-white w-30">Delete</a>

我曾期望我的对象会消失。但是当我按下按钮时出现问题。它只返回一个空白站点,并显示该站点无法运行的消息。

有人知道为什么吗?

【问题讨论】:

    标签: c# asp.net asp.net-mvc asp.net-core .net-core


    【解决方案1】:

    您必须将 Id 添加到您的 ancor 标签。尝试使用这个:

    <a asp-controller="...Controller"   asp-action="Delete" 
           asp-route-id="@Model.Id" class="btn btn-danger btn-lg text-white w-30">
    Delete</a>
    

    【讨论】:

      【解决方案2】:

      您需要从视图中传递 id。

      <a asp-action="Delete" asp-route-id="@Model.Id" class="btn btn-danger btn-lg text-white w-30">Delete</a>
      

      【讨论】:

      • 解决了问题!非常感谢!
      猜你喜欢
      • 1970-01-01
      • 2021-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多