从请求负载中提取所有数据,以在控制器参数C#Asp Net mvc中获取它们
有一个问题。我可以调整控制器操作以接收控制器参数中的所有数据(包括对象中的属性) 我的意思是 我已将此信息发送至:从请求负载中提取所有数据,以在控制器参数C#Asp Net mvc中获取它们,c#,asp.net,json,asp.net-mvc,controller,C#,Asp.net,Json,Asp.net Mvc,Controller,有一个问题。我可以调整控制器操作以接收控制器参数中的所有数据(包括对象中的属性) 我的意思是 我已将此信息发送至: {exportInfo: {collectionId: 428713, id: "59f9d640fcbfc5540c015f39"}, format: "CSV"} 总共有3个属性:collectionId、id、format。我不将“exportInfo”计算为属性,因为我希望从中提取内部属性 我在服务器上有一个操作 public void action (int colle
{exportInfo: {collectionId: 428713, id: "59f9d640fcbfc5540c015f39"}, format: "CSV"}
总共有3个属性:collectionId、id、format。我不将“exportInfo”计算为属性,因为我希望从中提取内部属性
我在服务器上有一个操作
public void action (int collectionId, string id, FileFormat format)
{ //FileFormat is enum
...
}
我知道我可以创建一个具有“collectionId”和“id”属性的类,并在操作声明中使用它。但也许还有别的办法?
我正在发送邮寄请求
我使用的是ASP Net MVC 5我的猜测是,您的数据很可能会发生变化,但出于某种原因,您仍然希望获取该数据,但此时此刻您不知道它会是什么样子。 然后您可以尝试使用对象 例如:
//Input: {"val":42}
[HttpPost]
public dynamic PostDynamic(dynamic value)
{
return value.val;
}
返回42
但是,与往常一样,在编写此类代码时必须非常精确,因为访问动态对象中未定义的字段将导致接收null。
例如
如果值
对象中没有hello
字段,则将返回null
在C#中使用动态类型有几种方法
之后,我建议您看看,它肯定会提高您对ASP.NET中模型绑定的理解 第一个标签是使用web api和MVC以及Core的.net版本。我从您的数据中假设此操作是一个Post而不是Get,但如果您指定了它也会很好。最后要回答您的问题,是的,您不需要类,但如果您将文件格式化为字符串,可能会更容易,因为web api很难从复杂类中获取多个参数,假设您没有多个复杂类,但是它与binderjohnny 5模型有一些细微差别,我忘了说FileFormat是一个枚举,不是一个类谢谢,但这不是我的意思。我有确切的数据集,我已经描述过了。我想让这个参数起作用,但不创建新的类,行中只有3个参数。请提供有效的链接好吗?我没有通过单击访问该网站it@simplygood哦,我明白了:你想把多个参数传递到你的API方法中。本机WebApi不支持这样的功能,请看下面这篇文章,解释您可以做些什么。
[HttpPost]
public dynamic PostDynamic(dynamic value)
{
return value.hello;
}