我正在使用 Umbraco 的
SurfaceController
,它基于 Controller
。在控制器中我有以下功能:
public IActionResult HandleKitEdit([Bind(Prefix = "PostContent")] SMUKitPostViewModel postContent, string? returnUrl = null)
{
...
}
SMUKitPostViewModel
包含以下属性:
public Dictionary<string, List<int>> JerseyLayers { get; set; }
根据应用程序的当前逻辑,列表中的数据
List<int>
被加载到razor视图中,如:
PostContent.JerseyLayers[Basic][0]: 1728
PostContent.JerseyLayers[Basic][1]: 1730
PostContent.JerseyLayers[Basic][2]: 1728
PostContent.JerseyLayers[Extra][0]: 1730
PostContent.JerseyLayers[Extra][1]: 1728
PostContent.JerseyLayers[Extra][2]: 1730
然而,前端确实选择了其中的一些列表项,因此只有少数几个被发布。例如:
PostContent.JerseyLayers[Basic][0]: 1728
PostContent.JerseyLayers[Basic][1]: 1730
PostContent.JerseyLayers[Basic][2]: 1728
PostContent.JerseyLayers[Extra][0]: 1730
PostContent.JerseyLayers[Extra][2]: 1730
现在,
PostContent.JerseyLayers[Extra][2]: 1730
没有被控制器接收到。控制器是否可以获取带有非顺序索引的列表?
我试图将
List<int>
中的Dictionary<string<List<int>>
转换为int[]
。这似乎没有用。
我期待五个结果(按照上面的例子)。我在帖子内容中得到四个结果,缺少
PostContent.JerseyLayers[Extra][2]: 1730
.