0

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

public Dictionary<DateTime, float> PriceDictionary; 

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

该实体的编辑视图显示这样的字典

    @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。

4

1 回答 1

3

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

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

基本上它只是归结为确保您的字段名称是正确的:

于 2013-05-22T21:13:09.810 回答