ここで何が間違っている可能性がありますか?
KeyValuePair<TKey, TValue>
クラスに読み取り専用のプロパティKey
とプロパティがあるという事実。Value
モデルバインダーが単に値を設定できないことを意味するセッターがありません。
したがって、いつものように、ビューモデルを定義することから始めます。
public class InputViewModel
{
public long Key { get; set; }
public string Value { get; set; }
}
その後:
public class MetriceModelTaskSchedule
{
public IEnumerable<InputViewModel> Inputs { get; set; }
}
または、辞書を使用することもできます。
public class MetriceModelTaskSchedule
{
public IDictionary<long, string> Inputs { get; set; }
}
standard naming convention
また、モデルバインダーが入力フィールドをモデルに正常にバインドできるように、ビューの入力フィールドが尊重されていることを確認してください。
<div>
<input type="text" name="Inputs[0].Key" value="1" />
<input type="text" name="Inputs[0].Value" value="value 1" />
</div>
<div>
<input type="text" name="Inputs[1].Key" value="2" />
<input type="text" name="Inputs[1].Value" value="value 2" />
</div>
...