gpt4 book ai didi

c# - 遍历模型属性并在代码文件中获取值

转载 作者:太空宇宙 更新时间:2023-11-03 13:45:08 25 4
gpt4 key购买 nike

在我的应用程序中,我创建了一个方法来对我的数据进行排序并创建一个列表,我将其传递到我的数据层。我已经重载它以接受参数 object[] 和一个模型。我正在编写接受模型的重载方法,但在遍历它时遇到问题。

这是我的 Controller 方法

        [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;
}

关于c# - 遍历模型属性并在代码文件中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15612210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com