Asp.net mvc Post方法能否从查询字符串中获取参数?
我在看,但对我来说不起作用 如果我的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、参数名称、参数类名还是其他内容?如果您有一个模型
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]
之间做出决定,并且不能向调用者提供这两种方法的灵活性?您为什么要提供这样的灵活性?请注意,您将支付可维护性费用。无论如何