这里有什么问题?
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>
...