C# “如何修复”;系统.反射.目标异常“;NET中的错误

C# “如何修复”;系统.反射.目标异常“;NET中的错误,c#,.net,C#,.net,为什么返回页面时会弹出一个错误System.Reflection.TargetException:“非静态方法需要一个目标对象。” public ActionResult历史顺序(int-id) { var orderList=db.OrdersItems.SingleOrDefault(x=>x.OrderItemsId==id); orderList.ashistory=true; db.SaveChanges(); 返回重定向到操作(“列出您的产品”); } public ActionR

为什么返回页面时会弹出一个错误System.Reflection.TargetException:“非静态方法需要一个目标对象。”

public ActionResult历史顺序(int-id)
{
var orderList=db.OrdersItems.SingleOrDefault(x=>x.OrderItemsId==id);
orderList.ashistory=true;
db.SaveChanges();
返回重定向到操作(“列出您的产品”);
}
public ActionResult ListYourProduct(字符串userId)
{
var user=UserManager.FindById(userId);
var orderItems=db.OrdersItems.Where(x=>x.UserName==user.UserName&&x.ishistore==false).ToList();
返回视图(orderItems);
}

从route in链接中删除userId=User.Identity.GetUserId(),并通过

public ActionResult ListYourProduct()
{
var userId=User.Identity.GetUserId();
var user=UserManager.FindById(userId);
var orderItems=db.OrdersItems.Where(x=>x.UserName==user.UserName&&x.ishistore==false).ToList();
返回视图(orderItems);
}
像这样吗

        public ActionResult HistoryOrder(int id)
    {
        string userId = User.Identity.GetUserId();
        var orderList = db.OrdersItems.SingleOrDefault(x => x.OrderItemsId == id);

        orderList.IsHistory = true;
        db.SaveChanges();

        return RedirectToAction("ListYourProduct",userId);
    }

<a href="@Url.Action("HistoryOrder", "Order", new { id = item.OrderItemsId})">Archiwizuj</a> 
public ActionResult历史顺序(int-id)
{
字符串userId=User.Identity.GetUserId();
var orderList=db.OrdersItems.SingleOrDefault(x=>x.OrderItemsId==id);
orderList.ashistory=true;
db.SaveChanges();
返回RedirectToAction(“ListYourProduct”,userId);
}

错误是否表明是哪行代码导致了此错误?是:var orderItems=db.OrdersItems.Where(x=>x.UserName==user.UserName&&x.IsHistory==false)。ToList();对您不需要将userId传递给rout,因为站点上的当前用户id在HttpContext.user或user中始终可用