我有一个包含超过50个字段的模型,我想显示这些字段的列表但不是全部。
所以我创建了两个包含显示字段列表和所有值的视图包。
现在我有,
<table>
<tr>
@foreach (var v in @ViewBag.columnList)
{
<th>@v</th>
}
</tr>
@foreach (var u in @ViewBag.userlist)
{
<tr>
@foreach (var c in @ViewBag.columnList)
{
<td>@u.c</td>
}
</tr>
}
我想指定@u.@c
来选择要在表格中显示的列。
答案 0 :(得分:0)
public abstract class UserBaseModel
{
public string Name {get;set;}
public string City {get;set;}
}
public class UserModel : UserBaseModel
{
public string State {get;set;}
}
public class AdminModel : UserBaseModel
{
public string Gender {get;set;}
}
这些类显示具有不同属性的不同用户类型。然后,您可以使用基类强制键入视图
@model UserBaseModel
这样,您可以根据用户将不同的模型传递给视图。然后,您可以选择如何访问这些属性。 可能允许您选择属性,即使没有知识产权,我还没有尝试过。
您还可以拥有用户类型的部分视图,然后根据问题中的用户类型加载相关的部分视图。重点是,您可以将User to Admin传递给示例中的视图,两者都可以。