Asp.net mvc Post方法能否从查询字符串中获取参数?

Asp.net mvc Post方法能否从查询字符串中获取参数?,asp.net-mvc,asp.net-web-api,asp.net-web-api2,Asp.net Mvc,Asp.net Web Api,Asp.net Web Api2,我在看,但对我来说不起作用 如果我的Post方法有一个名为Message(我自己类的对象)的参数,并且我没有对其应用[FromBody]属性,那么是否可以在查询字符串上而不是在Post体中传递参数Message,json序列化和URLCoded> 我尝试传递?消息=%7B+%22Sender%22%3A…++%7D(如果解码,将是Message={“Sender”:…}),但是消息参数在方法中仍然作为null接收 查询字符串键应该是Message、参数名称、参数类名还是其他内容?如果您有一个模型

我在看,但对我来说不起作用

如果我的Post方法有一个名为
Message
(我自己类的对象)的参数,并且我没有对其应用
[FromBody]
属性,那么是否可以在查询字符串上而不是在Post体中传递参数
Message
,json序列化和URLCoded>

我尝试传递
?消息=%7B+%22Sender%22%3A…++%7D
(如果解码,将是
Message={“Sender”:…}
),但是
消息
参数在方法中仍然作为null接收


查询字符串键应该是Message、参数名称、参数类名还是其他内容?

如果您有一个模型Foo:

public class Foo
{
    public string Bar { get; set; }
    public int Baz { get; set; }
}
如果要从查询字符串中绑定,则必须处理各个属性:

?Bar=qux&Baz=42
并注释必须从查询字符串绑定模型:

public void Bar([FromUri]Foo foo)
{
}

如果您真的想将JSON发送到动作方法而不是模型中,只需绑定到字符串而不是模型。然后,您可以在action方法中使用JSON字符串执行任何操作。

如果您有一个模型Foo:

public class Foo
{
    public string Bar { get; set; }
    public int Baz { get; set; }
}
如果要从查询字符串中绑定,则必须处理各个属性:

?Bar=qux&Baz=42
并注释必须从查询字符串绑定模型:

public void Bar([FromUri]Foo foo)
{
}

如果您真的想将JSON发送到动作方法而不是模型中,只需绑定到字符串而不是模型。然后,您可以在action方法中使用JSON字符串执行任何操作。

这是否意味着我必须在
[FromUri]
[FromBody]
之间做出决定,并且不能为调用方提供这两种方法的灵活性?您为什么要提供这种灵活性?请注意,您将支付可维护性费用。不管怎样。这是否意味着我必须在
[FromUri]
[FromBody]
之间做出决定,并且不能向调用者提供这两种方法的灵活性?您为什么要提供这样的灵活性?请注意,您将支付可维护性费用。无论如何