【问题标题】:Scaffolding ASP.NET MVC trouble. I get 400 error when I try to edit something脚手架 ASP.NET MVC 的麻烦。尝试编辑某些内容时出现 400 错误
【发布时间】:2015-01-21 20:31:50
【问题描述】:

我正在学习 ASP.NET MVC,但遇到了一些问题:

  1. 首先,我已将 NORTHWIND 数据库添加到我的 MVC 项目中
  2. 然后我为客户、订单、产品等创建了一些控制器。
  3. 为了创建控制器,我使用带有视图的脚手架,使用实体框架。

我写了一些Action方法:

public ActionResult GetAllCustomersWithOrders()
{
    var orders = db.Customers.Where(p => p.Orders.Count > 1).ToList();
    return View(orders);
}

public ActionResult GetAllOrdersFromCustomer()
{
    var orders = db.Orders.Include(p => p.Employee).Include(p => p.Customer).Include(p => p.Shipper).Where(p => p.ShipCity == "Seattle").ToList();
    return View(orders);
}

当我尝试编辑订单或客户时,我收到 400 错误。 以下是我在调用 action 方法后得到的结果。当我单击编辑或其他任何内容时,出现 400 错误。

这种行为的原因是什么?提前致谢。

【问题讨论】:

  • 能否请您显示错误描述是什么??
  • 它的错误请求错误。我不能提供更多,因为它不是英文的。

标签: asp.net asp.net-mvc asp.net-mvc-4


【解决方案1】:

您将拥有给定模型的复合主键,即多于 1 列作为您的主键。在脚手架后生成的默认视图/控制器中,以单列作为其主键,这也作为其参数之一在方法(内部控制器)中传递。因此,您需要提供所有列,作为操作方法和视图中的参数。 有关更多详细信息,请参阅此链接。 https://www.codeproject.com/Articles/797444/ASP-NET-MVC-Edit-Primary-Key-Values-for-Composite

【讨论】:

    猜你喜欢
    • 2018-09-24
    • 2021-03-30
    • 2018-06-22
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多