如何获取Class属性名称来创建标签?

时间:2010-06-30 14:00:35

标签: c# .net asp.net visual-studio-2008

如何学习在asp.net中创建页面表单的属性


class MyClass
{
    public int id { get; set;}
    public string Name { get; set;}
    public string Name { get; set;}
}

例如:(以编程方式生成Asp.net表单)

 void SetRecursiveTextBoxAndLabels()
        {

            Label lbl;
                 MyClass eng = new MyClass();
                Type typ = eng.GetType();
                PropertyInfo[] properties = typ.GetProperties();
                for( int i =0;  i<properties.Length; i++)
                {
                    lbl = new Label();
                    lbl.ID = properties[i].Name;
                    lbl.Text = properties[i].Name;
                    PlaceHolder1.Controls.Add(lbl);
                }
            }
        }

但它没有正常运行:(加载速度太慢......顺便说一句,我没有实时创建classıs。我使用linqtoSql。你可以在linqtosql的基础上讨论解决方案... < / p>

1 个答案:

答案 0 :(得分:0)

查看Cache Reflection Results (Class Properties)并查看缓存您的反射调用是否有帮助。正如GenericTypeTea建议的那样,多次调用这可能是您看到任何延迟的原因。这里还有一个Fast Reflection Library的链接,可能是让别人为你实现和调试缓存代码的一种方式。