删除数据库中的上下文后重定向到视图出错,删除过程设置为级联

本文关键字:删除 出错 过程 设置 级联 视图 数据库 上下文 重定向 | 更新日期: 2023-09-27 18:11:12

c#新手这是我的代码。在调试期间,我得到这个方法没有错误!但是当它发送请求返回时,我得到了上面列出的错误!有办法解决这个问题吗?由于

[HttpPost]
public ActionResult Delete(int auctionId, int productId) 
{
    Auction auct = auctionRepository.Auctions.FirstOrDefault(a => a.AuctionID == auctionId);
    if (auct != null) {
        auctionRepository.DeleteAuction(auct);
        TempData["message"] = string.Format(auct.AuctionID + " was deleted");
    }
    return RedirectToAction("Edit", "Admin", new { productId });
}

/////////

错误=>

对象引用未设置为对象的实例。

描述:在执行过程中发生未处理的异常当前的web请求。请查看堆栈跟踪了解更多信息有关错误及其在代码中的起源的信息。

Exception Details: System。NullReferenceException:对象引用不存在设置为对象的实例。

源错误:

第六行:}

第7行:

第八行:<h2>Edit @Model.Title</h2>

第9行:@using。BeginForm("编辑"、"Admin"FormMethod。Post, new {Enctype = "multipart/form-data"}) {

第10行:@Html.EditorForModel()

删除数据库中的上下文后重定向到视图出错,删除过程设置为级联

似乎当您删除拍卖条目时,它也删除了您的产品,因此当您重定向到编辑该产品的页面时,该产品不再存在并且您得到空引用异常。您是否可以检查数据库以确保您的产品在删除拍卖后仍然存在?如果情况并非如此,那么您是否可以使用post action方法来编辑您的产品?

编辑

如果您的产品被删除,那么您需要指定您的级联操作。你能把你的产品和拍卖的ER图贴出来吗?