我正在使用ASP .Net core 2.0 MVC网站。在这里,我有一个控制器,一个视图模型和一个视图。
视图模型的类型
class ViewModelClassName
{
public int property1;
public Dictionary<string, Dictionary<string, string>> property2;
}
我通过上一个线程知道,如果属性未显示在可编辑字段中,则它们将返回null。在视图中,我在字段中以隐藏或可见的形式显示了所有属性。表单提交仍返回null。代码中显示的Dictionary是否是有效的存储方式?如果没有,那还有什么替代方案?
答案 0 :(得分:2)
使用属性代替字段。 应该是
class ViewModelClassName
{
public int Property1 { get; set; }
public Dictionary<string, Dictionary<string, string>> Property2 { get; set; }
}
使用属性的背后原因是因为默认模型联编程序可以使用属性。
更新: 如果您需要了解字典绑定的工作原理,请参见以下链接 http://www.hanselman.com/blog/ASPNETWireFormatForModelBindingToArraysListsCollectionsDictionaries.aspx