私のエンティティは、特定の日時のフロートを保存するための辞書を持っています。
public Dictionary<DateTime, float> PriceDictionary;
そのエンティティのコンストラクターで、float-value のデフォルト値が 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 のコントローラーを調整する必要があると思いますが、どうすればよいかわかりません。誰かがヒント (または 2 つ) を教えてくれれば幸いです。これまでのところ、コントローラーは次のようになっています。
db.Entry(stockposition).State = EntityState.Modified;
db.SaveChanges();
return RedirectToAction("Index");
これに対するより良い解決策はありますか?ご容赦ください。私は C# の新入生で、わずか 5 日前に MVC を始めました。