我有一个页面,我想在其中显示图像滑块内不同表中的图像。但是我的图像却排成一行显示。有没有一种方法可以将来自两个不同表的列表组合到一个视图中。
int size = 10;
int myArray[size];
size = 20;
答案 0 :(得分:2)
如果您的属性是同一类型,则可以将它们串联:
@foreach (var table1 in Model.table1.Concat(Model.table2))
如果它们不是同一类型,那么您需要首先将它们投影为通用类型。可能很简单:
@foreach (var table1 in Model.table1.Select(t => t.imageurl).Concat(Model.table2.Select(t => t.imageurl)))
从风格上讲,理想情况是模型或控制器(而不是视图)中发生这种情况。视图实际上应该只绑定到模型上的属性,而无需操纵它们。
例如,您可以将计算出的属性添加到模型中:
public IEnumberable<SomeType> Tables
{
get { return table1.Contact(table2); }
}
然后在您的视图中,您将循环遍历Model.Tables
。或者,如果您实际上只 一个表列表,则您的模型应该只有一个表列表,并且在填充模型时应该合并不同的数据源。但是,我们对此进行的研究越多,此时我们就必须对您的数据模型做出更多的假设。