ASP.NET 2.0项目 - 基于类型动态生成控件?

时间:2010-11-11 19:38:02

标签: asp.net controls

使用旧版ASP.NET 2.0项目。

任何人都知道一个免费的动态控件会根据它分配的类型来呈现自己吗?

例如,如果我传递一个DateTime属性,它应该呈现为日期时间选择器。如果我给它一个字符串...一个简单的文本框。给它一个列表,它将创建一个下拉列表或列表框......

那里必须有一些东西......

1 个答案:

答案 0 :(得分:2)

我无法想象会有什么可以做的事情。

你绝对可以将很多控件包装到一个通常可以输入的控件中

public class ControlLoader<T> : System.Web.UI.Control where T : Type 
{
    public T Value { get; set; }

    protected override void Render(System.Web.UI.HtmlTextWriter writer)
    {
        if (typeof(T) == typeof(DateTime))
        {
            Controls.Add(/* some datetime picker you found */);
        }
        else if (...)
        { 
            //
        }            
        base.Render(writer);
    }        
}