在ascx页面中引入了一个自定义控件,然后使用findcontrol来查找这个控件,结果为空.
在跟踪过程中发现自定义控件中生成的clientid 不等于 server端定义的ID,而使用一般的asp控件,id等于clientid,是不是这个原因呢?
示例:
ascx代码:
<asp:listbox id="kkk" runat="server"/>
<cc:MyControl id="sss" runat="server"/>
使用它的类:kkk=skin.findcontrol("kkk")
sss=skin.findcontrol("sss")'结果,kkk正常,sss=nothing!如何解决这个问题?(另,由于程序使用asp.net forum的换肤功能,需要使用findcontrol来取对象然后再处理)

解决方案 »

  1.   

    当然是自定义控件,使用的用户控件只是一个介面,使用是的asp.net froums2.0的方式换肤
      

  2.   

    程序中要有
    protected sss as MyControl 吧
      

  3.   

    使用一般的asp控件,id等于clientid,
    --------------------------------------
    吓我一跳,我还以为真的这个世界上有asp控件了呢!你把你的 <asp:listbox> 跟 <cc:MyControl> 对调的位置试试看。
      

  4.   

    还没有用过 2005,还不知道什么是“使用是的asp.net froums2.0的方式换肤”,你最好把代码详细点,特别是表明skin是个什么东西,跟那两个控件之间是什么关系。