0

我使用反射从数据库存储过程创建了一个类,我希望能够在不使用实体或不必为类创建强类型模型的情况下将数据表的内容显示到剃刀视图。现在我正在做以下事情:

public static List<object> GetPeople()
{
    DataTable dt = DataAccess.GetPersons();

    List<object> obj = MapDataTableToPerson(DataAccess.GetPersons());

    return obj;
}

private static List<object> MapDataTableToPerson(DataTable dt)
{
    List<object> returnClassObject = new List<object>();

    Type typeClass = CreateClassFromDT(dt);


    foreach (DataRow dr in dt.Rows)
    {
        object obj = Activator.CreateInstance(typeClass);

        foreach(string columnName in ColumnNames)
        {
            PropertyInfo property = typeClass.GetProperty(columnName);

            property.SetValue(obj, dr[columnName], null);
        }

        returnClassObject.Add(obj);
    }

    return returnClassObject;
}

我从控制器调用 GetPeople 并传递给视图,但我不知道如何从 Razor 中创建的类中获取值,如果有人能提供帮助,将不胜感激。

4

1 回答 1

1

将 DataTable 模型传递给视图并遍历列和行。我认为您不需要使用反射,只需从数据库中获取 DataTable 即可。

于 2012-11-09T00:37:52.577 回答