你自定义控件引用到页面上的时候是要这样的形式<uc:control1 runat="server"></uc:control1>
这样的,这个前缀uc是可以自己定义的,还有那个control1不也是你自己定义的?
如果你自定义了一个Button的控件,然后在页面上注册的时候前缀注册成了asp。那这个时候在页面上显示就会这样:<asp:Button runat="server"></asp:button>你说这是你的还是系统的?
定义成一样的会有冲突,造成二义性。
就好像你定义了两个相同的变量一样:
string test="abc";
int test=123;
Response.Write(test.ToString());
你说这里的test是指哪一个呢?
asp.net 中以asp:为前缀的控件是微软公司生产的Ajax控件库的控件,这样的控件并不是在任何浏览器都适应的,也许有的操作系统都不支持,当然微软的操作系统+ie浏览器是完全支持的。
创建好用户控件然后在页面注册的时候最好使用自定义与系统名称不冲突的名称,这样更有利于vs快速给出智能提示并不发生冲突.
这个和web.config和页头有关系。