c# - MVC Core 2.0“发布”操作返回空视图模型
问题描述
我正在使用 ASP .Net core 2.0 MVC 网站。在此,我有一个控制器、一个视图模型和一个视图。
视图模型是类型
class ViewModelClassName
{
public int property1;
public Dictionary<string, Dictionary<string, string>> property2;
}
我通过上一个线程知道,如果属性未显示在可编辑字段中,它们将返回 null。在视图中,我在字段中以隐藏或可见形式显示了所有属性。仍然表单提交返回 null。代码中显示的字典是有效的存储方式吗?如果没有,还有什么替代方案?
解决方案
使用属性而不是字段。它应该像
class ViewModelClassName
{
public int Property1 { get; set; }
public Dictionary<string, Dictionary<string, string>> Property2 { get; set; }
}
使用属性背后的原因是因为默认模型绑定器使用属性。
更新: 如果您需要了解字典绑定的工作原理,请参阅以下链接 http://www.hanselman.com/blog/ASPNETWireFormatForModelBindingToArraysListsCollectionsDictionaries.aspx
推荐阅读
- node.js - 通过块 Node.js 从 Google Cloud Storage GCS 下载文件
- swift - SwiftUI ScrollView 只允许对某些单元格进行 HitTesting
- python - 为什么我的 tensorflow 模型将二进制分类标签从 0 和 1 转换为 .7?
- reactjs - 测试静态方法时,preloadWeek 方法未定义
- ios - Swift 图片元数据创建日期
- reactjs - 如何将输入字段用作搜索字段并存储注册数据?
- node.js - 我的承诺中未定义数据无法正确设置错误 [API 问题/前端问题?]
- node.js - 如何解决我在使用 docker 容器时遇到的 dns 问题?
- r - 如果某个级别的所有观察值都具有相同的值,我如何对列进行变异以返回一个值?
- ios - 数组值不通过