将值添加到元组
我最初使用IDictonary将字符串值存储在我的MVC模型中 – 如下所示:
public IDictionary MyValues { get; set; } MyValues = new Dictionary { {"Name", "Joe Bloggs"}, {"Address", "Main Street"} };
以上是在我的模型构造函数中设置的,当我通过执行以下操作获取模型时,我还设置了其他值:
var model = new MyModel(); model.MyValues .Add("foo", "bar");
在我看来,我有以下内容:
@{ var myValues = Model.MyValues.ToList(); for (int i = 0; i < myValues .Count(); ++i) { @Html.Hidden("Id", myValues[i].Key) @Html.Hidden("Value", myValues[i].Value) } }
我现在需要更改此function,而不是IDictoinary使用元组实现此function
到目前为止,我刚刚更改了模型中的MyValues:
public IEnumerable<Tuple> MyValues { get; set; }
我不确定如何实现我在模型构造函数中使用的相同function,在模型中设置其他值,然后在视图中枚举它。
它很简单:
MyValues = new List> { Tuple.Create("Name", "Joe Bloggs"), Tuple.Create("Address", "Main Street") };
和:
model.MyValues.Add(Tuple.Create("foo", "bar"));
和:
@{ var myValues = Model.MyValues; foreach (var tuple in myValues) { @Html.Hidden("Id", tuple.Item1); @Html.Hidden("Value", tuple.Item2); } }
但是你应该更好地将MyValues
从IEnumerable
改为IList
或ICollection
,并说可以添加。