后缀名不同,继承的类不同
首先在.net中,一个是ascx为后缀,一个是.cs为后缀。自定义控件customcontrol.cs继承了system.Web.Ui.Control主要是重载render方法,把控件的Html语句写出来。
用户控件继承自system.web.ui.usercontrol,而usercontrol:templatecontrol:control说明用户控件有一定的封装。
引用也不同:
用户控件在页面的html编码头部加入<%@ Register src="路径" TagName=" aaa" TagPrefix="bbb" %>
在页面中只要声明一个<bbb:aaa ID="" runat="server" ></bbb:aaa>
而自定义控件引用方法如下:<%@ Register NameSpace="aa" TagPrefix="bb" %>
在页面中只要声明<bb:aa ID="" ></bb:aa>
也可以将自定义控件编译以后生成的dll文件,通过在工具箱里面右键点击添加项目,浏览添加至工具箱,这样就可以像系统控件一样使用了.
而且在web.config中也可以注册两种控件:
<configuration>
<system.web>
<pages>
<controls>
<add tagPrefix="scottgu" src="~/Controls/Header.ascx" tagName="header"/>
<add tagPrefix="scottgu" src="~/Controls/Footer.ascx" tagName="footer"/>
<add tagPrefix="ControlVendor" assembly="ControlVendorAssembly"/>
</controls>
</pages>
</system.web>
</configuration>