动态调用ViewModel变量

时间:2018-03-16 14:53:28

标签: c# asp.net asp.net-mvc

我想知道是否有任何方法可以通过我在下面打印的foreach中声明的另一个变量来调用ViewModel中的变量。

这是用c#(Razor文件)编写的。

工作示例,但仅查看“用户”表和“密码”字段:

@foreach (var item in Model.Tables.OrderByDescending(r => r.Date))
{
  @Model.Users.Where(r=>r.ID == item.TableRow_ID).FirstOrDefault().Password
}

我想要的是什么:

@foreach (var item in Model.Tables.OrderByDescending(r => r.Date))
{
   @Model.**item.TableName**.Where(r=>r.ID ==
   (item.TableRow_ID)).FirstOrDefault().**item.Field**
}

这有可能吗?或者我应该寻找另一个解决我的问题的方法吗?

更新:避免XY问题

我有一个审计跟踪,用于存储编辑的旧值。我也希望显示“新值”,但将其存储在路径中将是多余的,因为它被存储为已编辑的字段的新值。 所以我想使用我在Audit过程中得到的值,它存储在item(表名,行id和字段名)中,直接从包含“new value”的表中获取“new value”。 / p>

所以在我发布的代码中,工作示例是如何通过输入表和字段的名称(用户和密码)来获取“新值”。但如果我想要“用户名”字段,这将无效。 因为我有太多的表名和字段来制作if / switch,我想知道如何通过表名,行id和字段名来获得“新值”的解决方案。

0 个答案:

没有答案