【发布时间】:2016-11-05 04:23:08
【问题描述】:
我在我的一个应用程序的View 中使用了以下List<KeyValue<string, int>>。它可以工作,但我正在尝试扩展它,如果可能,通过向KeyValue 对添加一个额外的参数/值。
每一对都有一个特定的颜色,我想传递给内联 css 颜色属性。我希望能够做这样的事情:
@foreach (var item in Model)
{
var result = MyClass.GetOrder(item);
<h2>@item.Date.Substring(0,4)</h2>
<p style="color:@result[0].Value3">@result[0].Key , @result[0].Value</p>
<p style="color:@result[0].Value3">@result[1].Key , @result[1].Value</p>
<p style="color:@result[0].Value3">@result[2].Key , @result[2].Value</p>
<p style="color:@result[0].Value3">@result[3].Key , @result[3].Value</p>
}
静态方法
public static List<KeyValuePair<string, int>> GetOrder(MyClass myclass)
{
var NameVal = new List<KeyValuePair<string, int>>()
{
new KeyValuePair<string, int>(myclass.Name1, Convert.ToInt32(myclass.Val1)),
new KeyValuePair<string, int>(myclass.Name2, Convert.ToInt32(myclass.Val2)),
new KeyValuePair<string, int>(myclass.Name3, Convert.ToInt32(myclass.Val3)),
new KeyValuePair<string, int>(myclass.Name4, Convert.ToInt32(myclass.Val4))
};
var result = NameVal.OrderByDescending(key => key.Value);
return result.ToList();
}
【问题讨论】:
-
您在字典中使用 KeyValuePairs 列表的任何特殊原因?
-
没有理由........
-
您不能将第三个值添加到
KeyValuePair。您会发现这要容易得多,因为您只需使用包含您想要的 3 个属性的视图模型并将该模型的集合传递给视图
标签: c# css asp.net asp.net-mvc generics