我正在使用网格MVC生成一个表,该表自动从模型生成列。将有几种模型来显示不同的数据集,但是我希望保持页面使用相同,例如/ AMUK / Global?表=操作或/ AMUK /全局?表=小时。
在我的剃刀页面中,我定义了网格
@Html.Grid(Model.cockpitData).AutoGenerateColumns().Named("projectGrid").WithMultipleFilters()
我希望能够将不同的模型传递到网格,具体取决于选择了哪个“报告”。因此,而不是驾驶舱数据,它可能是actionData。我可以用匿名类型吗?还是必须静态输入?
答案 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将保存表查询字符串的值。