c# - 获取字典从查询字符串 ASP.NET MVC
问题描述
我的操作方法中有一个参数:Dictionary<int, int[]> prop
,我正在尝试通过查询字符串设置它。但是当我使用这个时:
/Action?prop[0].Key=123&prop[0].Value[0]=123
字典参数不为空,但没有元素。
我做错了什么,我应该如何让它发挥作用?
注意:这是一个页面,所以它是一个没有正文的 HTTP GET 请求。
解决方案
[FromUri]
将参数标记为具有如下属性
的 MVC 控制器操作:
public HttpResponseMessage ActionName([FromUri] Dictionary<int, int[]> prop)
{
...
}
在请求 URI 中,附加字典如下:
/actionName?prop[0].key=0&prop[0].value=11&prop[0].value=12&prop[1].key=1&prop[1].value=21&prop[1].value=22
这导致prop
字典填充如下:`prop:{0:[11,12],1:[21,22]}
`
推荐阅读
- javascript - Intersection Observer API:如何找到用户正在观察的元素
- node.js - 我如何一起构建反应和节点?
- ios - 如何从 Visual Studio Code 中删除 Github 集成?
- numpy - 重新组合正弦波的相位和幅度?
- r - 根据单独的链接数据框中的变量对数据框行进行分组
- javascript - .map 函数的索引,其中包含方法
- mysql - 从相似的行MYSQL中选择一行
- java - 引导层初始化期间发生错误。plexus.container.default:无效的模块名称:'default' 不是 Java 标识符
- python - 如何使用按钮将图像加载到 kivy 窗口中?
- r - R - 在 plot_ly 中结合 tidy eval 和 tilde 时出错