构建自定义控件:使用WebControl还是Control?

时间:2011-04-06 18:17:48

标签: c# asp.net controls custom-controls web-controls

有很多方法可以为Asp.Net构建自定义控件。有些人使用System.Web.UI.WebControls.WebControl作为基类,而其他人使用System.Web.UI.Control作为新控件的基类。

选择其中一个作为基础的原因是什么?

3 个答案:

答案 0 :(得分:1)

当WebControl呈现给响应对象时,Control没有用户界面。

答案 1 :(得分:1)

System.Web.UI.WebControls.Webcontrol派生自System.Web.UI.Control,并添加了对样式的支持(BackgroundColor,Style等)。

默认情况下,

Control没有这种支持,您必须自己通过创建属性并在Render()方法上处理它们来实现它。 WebControls还为某些常见属性提供了主题和工具箱支持。

答案 2 :(得分:0)

当您的控件要在呈现的页面上显示UI组件时,您应该使用System.Web.UI.WebControls.WebContro l,因为它包含各种管道代码生成UI(尽管仍然需要大量工作来创建该UI )。

System.Web.UI.Controls适用于您的控件在渲染页面上没有UI的情况(想想一些驻留在工具箱中的ASP.NET DataSource控件,可以拖到页面上,不渲染任何内容) ,并充当将数据获取到具有UI的GridView控件的管道。

See this MSDN article