【发布时间】:2019-11-13 02:00:28
【问题描述】:
我有一个用参数调用的动作方法,一个参数是int
动作方法的另一个参数是Object。
当我检查操作方法时,我发现Object 参数不完全为空,
此对象的 UserId 属性设置为一个值,e.g. model.UserId = 82
如何阻止 ASP.NET 创建对象? 我可以通过将 userId 原始变量重命名为 paramUserId 来解决这个问题, 但并不理想。
下面是动作方法:
[HttpGet]
public async Task<IActionResult> Select(int userId = 0, ObjectModel model = null)
网址:
https://localhost:5001/[Area]/[Controller]/Select?userId=82
对象模型:
public class ObjectModel
{
public int Id { get; set; }
public int UserId { get; set; }
}
【问题讨论】:
-
这个对象模型是干什么用的?
-
@John 其他一些操作方法使用对象重定向到此操作方法。我希望模型为空的所有其他调用;但它不是这样工作的; .NET 正在注入一个对象。
-
我已经有一段时间没有涉足 .NET MVC 了,但是您认为注入的模型实际上是视图模型吗?换句话说,它是否被自动创建以在方法的视图中使用,以便(可能)将数据显示到屏幕上?
-
您可以尝试将其明确声明为
[FromBody]吗?如果它有效,我会添加一个答案。 -
@John 状态码:415;不支持的媒体类型。
标签: c# asp.net-core