【发布时间】:2018-12-04 17:44:16
【问题描述】:
我正在尝试将我所有的模型值打印到我的视图中。
我不希望为每个值“硬编码”它,而是让它根据我的模型结构动态增长。这样非开发人员可以测试所有内容是否正确插入数据库,添加了哪些值等
目前我的控制器中有这段代码可以打印出模型中的所有变量,但我不确定如何将某些对象值连接到它上面
var result = "";
var myAssembly = typeof(Person).GetTypeInfo().Assembly;
var properties = Converters.GetTypesInNamespace(myAssembly, "Domain.Models")
.FirstOrDefault(a => a.Name == "Person")
.GetProperties().ToList();
for (var i = 0; i < properties.Count; i++)
{
result += properties[i].Name + Environment.NewLine;
}
return Ok(result);
这是我使用的自定义方法
public static Type[] GetTypesInNamespace(Assembly assembly, string nameSpace)
{
return assembly.GetTypes()
.Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal))
.ToArray();
}
我想返回一个视图,该视图显示具有特定 id 的 Person 的所有值,即 Person/5 返回它的 FirstName 和 LastName,但如果我现在向我的模型添加一个新变量 - 该视图将也显示出来
【问题讨论】:
-
如标签model-view-controller 中所述,请勿将该标签用于asp.net-mvc。
-
为什么不在 ViewModel 上使用
Dictionary<string, string>作为属性并在视图中循环遍历它?
标签: c# razor asp.net-core-mvc