System.InvalidOperationException:“Action 'CrudSecond.Controllers.OrderController.Insert (CrudSecond)' has more than one parameter that was specified or inferred as bound from request body. Only one parameter per action may be bound from body. Inspect the following parameters, and use 'FromQueryAttribute' to specify bound from query, 'FromRouteAttribute' to specify bound from route, and 'FromBodyAttribute' for parameters to be bound from body: Customer c List<Vehicle> vehicles List<DeviceMiddle> deviceMiddles”
时间: 2024-04-18 20:32:00 浏览: 217
这个错误是由于你的 `OrderController.Insert` 方法有多个参数被指定或推断为绑定到请求体,但每个操作只能绑定一个参数。你可以检查以下参数,并使用 `FromQueryAttribute` 指定绑定到查询字符串,使用 `FromRouteAttribute` 指定绑定到路由参数,使用 `FromBodyAttribute` 指定绑定到请求体的参数:
- `Customer c`
- `List<Vehicle> vehicles`
- `List<DeviceMiddle> deviceMiddles`
请确保只有一个参数被标记为 `FromBodyAttribute`,以指定从请求体中绑定数据。如果你需要绑定多个复杂类型的数据,你可以创建一个包含这些参数的模型类,并将该模型类标记为 `FromBodyAttribute`。
相关问题
InvalidOperationException: Action 'Coldairarrow.Api.Controllers.GetC_ProjectDataListController.GetC_ProjectDataList (Coldairarrow.Api)' has more than one parameter that was specified or inferred as bound from request body. Only one parameter per action ma
这个错误通常发生在 ASP.NET Core Web API 中,表示您的控制器的一个操作具有多个参数被推断为从请求正文绑定。在 Web API 中,每个操作只能有一个请求正文参数。
要解决此问题,您需要将多个参数合并为一个类或模型,并将其作为操作的单个参数。示例代码如下:
```csharp
public class ProjectDataQueryModel
{
public int Id { get; set; }
public string Name { get; set; }
// 其他属性
}
[HttpPost]
public IActionResult GetC_ProjectDataList([FromBody] ProjectDataQueryModel query)
{
// 使用 query 参数执行操作
}
```
在上面的代码中,我们创建了一个名为 `ProjectDataQueryModel` 的类,它包含了我们需要的所有参数。然后我们将其作为操作的单个参数,并使用 `[FromBody]` 特性指示 ASP.NET Core 将请求正文反序列化为该类型的对象。
当您执行 Web API 调用时,您需要将请求正文中的所有数据都包含在单个 JSON 对象中,并将其作为参数发送。例如,如果您需要获取 ID 为 1 的项目数据,则可以发送以下 JSON 数据:
```json
{
"id": 1
}
```
希望这可以帮助您解决问题!
System.InvalidOperationException:“No loaded DialogHost instances.”
这个异常通常是因为在使用 DialogHost 控件之前,没有加载 DialogHost 实例。你可以尝试在 XAML 中添加一个 DialogHost 元素,并确保在使用 DialogHost 控件之前先进行加载。另外,也可能是因为 DialogHost 控件的名称与实际名称不匹配导致的,你需要确保这两个名称一致。如果仍然无法解决问题,请提供更多的信息,我会尽力帮助你解决问题。
阅读全文