MVC 4 -如何保存编辑过的字典

本文关键字:编辑 字典 保存 何保存 MVC | 更新日期: 2023-09-27 18:14:48

我的实体拥有一个字典,用于保存特定日期时间的浮点数:

public Dictionary<DateTime, float> PriceDictionary; 

在该实体的构造函数中,我为任何新对象添加了200个日期时间,浮点值的默认值为0。

该实体的Edit-View像这样显示字典

    @foreach (var p in Model.PriceDictionary)
        {
            <div class="editor-field">
                @Html.EditorFor(model => p.Key)
                @Html.EditorFor(model => p.Value)
            </div>
        }

值是可编辑的,所有值都在回发中,例如:

...p.Key=2012%2F02%2F02&p.Value=50&p.Key=2012%2F02%2F03&p.Value=0...

问题是没有保存更改的值。我想我必须调整控制器的Http-Post,但我不知道该怎么做,如果有人能给我一个提示(或两个),我会很高兴。到目前为止,控制器看起来像这样:

db.Entry(stockposition).State = EntityState.Modified;
            db.SaveChanges();
            return RedirectToAction("Index"); 

有更好的解决方案吗?请原谅我……我是c#新手,5天前才开始学习MVC。

MVC 4 -如何保存编辑过的字典

你可以看看Scott Hanselman的这篇文章:http://www.hanselman.com/blog/ASPNETWireFormatForModelBindingToArraysListsCollectionsDictionaries.aspx

它解释了如何绑定到字典。

基本上就是确保你的字段名是正确的: