将值添加到元组

我最初使用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); } } 

但是你应该更好地将MyValuesIEnumerable改为IListICollection ,并说可以添加。