是否有一个简单的过程可以将用户控件转换为Web/复合控件?
没有自动过程,没有。但下面是(一般)步骤:
创建WebControl类。使其继承自 Panel 如果您想采取简单的方法,或者覆盖 Render() 方法,如果您想用冗长的方式生成HTML。
Panel
Render()
通过在init()期间或在控件类的构造函数中将HTML文本和其他控件添加到控件集合中,复制用户控件的布局。如果您选择覆盖 Read() ,需要递归地呈现控件。
Read()
将事件处理代码从用户控件复制到类中,并连接事件处理程序。
处理javascripts/css。您可以将它们作为Web资源嵌入到程序集中,或者将它们注册为常规包含使用 ClientScriptManager 或 ScriptManager .
ClientScriptManager
ScriptManager