我有一个ViewModel,它有许多不同的属性(即string,int等),我需要在控制器中迭代。做这个的最好方式是什么?这是ViewModel的定义:
public class BankListViewModel
{
public int ID { get; set; }
public string BankName { get; set; }
public string EPURL { get; set; }
public string AssociatedTPMBD { get; set; }
public string Tier { get; set; }
public List<BankListAgentId> BankListAgentId { get; set; }
public List<BankListStateCode> BankListStateCode { get; set; }
}
但是,我需要省略这两个列表。有什么想法吗?
编辑
此过程的目的是将视图模型的特定项目传递到三个单独的对象中。创建视图模型以组合三个单独的SQL表/模型的属性。我现在正在尝试将它们分开,并将信息添加到相关表格中。现在,我只是一个接一个地去:
BankListMaster banklistmaster = new BankListMaster();
banklistmaster.AssociatedTPMBD = viewmodel.AssociatedTPMBD;
banklistmaster.BankName = viewmodel.BankName;
答案 0 :(得分:4)
虽然不清楚为什么你需要迭代属性而不只是阅读他们的vaules,你可以使用反射
来完成这个var model = new BankListViewModel();
PropertyInfo[] properties = model.GetType().GetProperties();
foreach (var property in properties)
{
if (property.GetType() != typeof(List<BankListAgentId>))
{
//do your thing here
}
}