循环遍历模型属性并在代码文件中获取值
本文关键字:文件 获取 代码 遍历 模型 属性 循环 | 更新日期: 2023-09-27 18:05:46
在我的应用程序中,我创建了一个方法来对数据进行排序,并创建了一个列表,我将该列表传递给我的数据层。我已经重载了它来接受参数对象[]和模型。我正在编写接受模型的重载方法,但是我在循环它时遇到问题。
这是我的控制器方法
[HttpPost]
public ActionResult CreateUser(vw_UserManager_Model model)
{
// Return Model to view with error message when not valid.
if (!ModelState.IsValid == true)
{
return View(model);
}
else
{
List<string> myParams = DataCleaner.OrganizeParams(model);
}
这是我在将数据传递给数据层之前组织数据的方法
public static List<string> OrganizeParams(vw_UserManager_Model model)
{
List<string> myParams = new List<string>();
var modelProperties = model.GetType().GetProperties();
foreach (var property in model.GetType().GetProperties())
{
switch (property.PropertyType.Name)
{
case "String":
myParams.Add("System.String" + ":" + property.GetValue(property.PropertyType.Name, null));
break;
case "Guid":
myParams.Add("System.Guid" + ":" + property.GetValue(property.PropertyType.Name, null));
break;
case "Int32":
myParams.Add("System.Int32" + ":" + property.GetValue(property.PropertyType.Name, null));
break;
case "Boolean":
myParams.Add("System.Boolean" + ":" + property.GetValue(property.PropertyType.Name, null));
break;
}
}
return myParams;
}
我在Switch/Case逻辑中所做的实际上不起作用,因为我在断点中查看了我的对象,并且无法看到我需要在代码中编写的内容。我知道我也可以使用IEnumerable,但我不太确定我想怎么做。
有什么建议吗?
如何循环通过模型在MVC3代码文件?
这对我来说很有效,看起来你很接近了:)
public static List<string> OrganizeParams(vw_UserManager_Model model)
{
List<string> myParams = new List<string>();
foreach (var property in model.GetType().GetProperties())
{
switch (property.PropertyType.GenericTypeArguments.FirstOrDefault().Name.ToString())
{
case "String":
myParams.Add("System.String" + ":" + property.GetValue(model, null));
break;
case "Guid":
myParams.Add("System.Guid" + ":" + property.GetValue(model, null));
break;
case "Int32":
myParams.Add("System.Int32" + ":" + property.GetValue(model, null));
break;
case "Boolean":
myParams.Add("System.Boolean" + ":" + property.GetValue(model, null));
break;
}
}
return myParams;
}