将匿名模型传递给 MVC 网格



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

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

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

我希望能够将不同的模型传递给网格,具体取决于选择了哪个"报告"。因此,它可能是动作数据,而不是驾驶舱数据。我可以使用匿名类型执行此操作吗?还是必须静态类型?

您可以使用反射获取属性的值,并将其传递给 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()

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

最新更新