如何在实体框架中仅给出一个表名,动态创建一个html表?

时间:2015-10-12 08:41:20

标签: html asp.net asp.net-mvc entity-framework

我的代码更像是创建一个引擎,当传递一个表名变量时,它将动态构造表。这是我已经开始研究的代码。在我的控制器中,

    public ActionResult ViewTable(string tablename)
    {
        ScsContext context = new ScsContext();
        List<string> columnNames = new List<string>();

        var html = "<table><thead><tr>";

        switch(tablename)
        {
            case "table1":

                columnNames = typeof(table1).GetProperties().Select(a => a.Name).ToList();

                foreach(var c in columnNames)
                {
                    html += "<td>" + c.ToString() + "</td>";
                }

                html += "</tr></thead><tbody>";

                var rows = from c in context.table1.ToList()
                           select c;
                foreach(var c in rows)
                {
                    foreach(var p in c.GetType().GetProperties())
                    {
                        foreach(var s in columnNames)
                        {
                            if(p.Name == s.ToString())
                            {
                                // How do I get the value here?
                            }
                        }
                    }

                }

                break;

            // more case statements here based on table names
            default:
                break;
        }


        // return empty for now
        return new EmptyResult();

    }

我能够在我的实体中循环我的列的名称,如上所述,现在根据这些值构建我的html表..但是当我现在需要获取值时,我被困了。如何从上面的属性中获取值以根据表名变量构建我的html表?

由于我有更多的用户想要渲染的表格,有没有更简单,更有效的方法呢?

非常感谢,

0 个答案:

没有答案