将匿名模型传递给MVC Grid

时间:2015-03-12 11:15:11

标签: c# asp.net-mvc asp.net-mvc-4 razor grid

我正在使用网格MVC生成一个表,该表自动从模型生成列。将有几种模型来显示不同的数据集,但是我希望保持页面使用相同,例如/ AMUK / Global?表=操作或/ AMUK /全局?表=小时。

在我的剃刀页面中,我定义了网格

@Html.Grid(Model.cockpitData).AutoGenerateColumns().Named("projectGrid").WithMultipleFilters()

我希望能够将不同的模型传递到网格,具体取决于选择了哪个“报告”。因此,而不是驾驶舱数据,它可能是actionData。我可以用匿名类型吗?还是必须静态输入?

1 个答案:

答案 0 :(得分:0)

您可以使用反射获取属性值并将其传递给Grid方法。

public static object GetValueOfProperty(object sourceObject, string propertyName)
{
    return src.GetType().GetProperty(propertyName).GetValue(sourceObject, null);
}

并使用它。

@Html.Grid(GetValueOfProperty(Model, Table)).AutoGenerateColumns().Named("projectGrid").WithMultipleFilters()

假设Table将保存表查询字符串的值。