问题描述
现有:第一个自定义控件menu.ascx第二个自定义控件menulist.ascx上面有个属性:privatestringsql;publicsetsql{setsql=value;}我把第一个控件拉到WEB页里可以正常引用.我再把第二个控件拉到第一个控件.然后在第一控件CS里给第二个控件的setsq赋值时.提示不能找到menulist,就是第二个控件的ID号请问怎么给这个setsql赋值啊.谢谢!这里是menu.ascx代码,在WEB页得了classid生成sql想把sql再传给它引用的第二个控件publicpartialclassControl_MainMenu:System.Web.UI.UserControl{privateintClassid;publicstringSetClassid{set{Classid=Convert.ToInt32(value);}}protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){stringsql;sql="select*fromMLDG_Classwherebelong="+Classid+"orderbyOrderby";//Wap}}}这是menulist.ascx的代码,想通过第一个控代动态的给第二个控件赋setsql值,可我把第二个控件拉到第一个控件后,还是提示没有引用第二个控件.查了一些资料,好像是要委托,请问怎么委托啊publicpartialclassControl_MainMenuList:System.Web.UI.UserControl{privatestringsql;publicstringSetsql{set{sql=value;}get{returnsql;}}protectedvoidPage_Load(objectsender,EventArgse){if(IsPostBack){Bind(sql);}}privatevoidBind(stringsql){Dbdbs=newDb();dbs.Conn("Dbstr");SqlDataReaderMydr=dbs.RunProcGetReader(sql);DataList1.DataSource=Mydr;DataList1.DataBind();Mydr.Close();Mydr.Dispose();}}
解决方案
解决方案二:
能回答的人还没出现,路过帮你顶一下
解决方案三:
控件套控件,你可真有想法,难道除了这种解决方案,没有别的了吗
解决方案四:
控件上再加个控件.很正常啊.这个可以把各模块分开.我知道是要委托.就是不知道怎么写.
解决方案五:
你好,不用使用委托.我自己也模拟了一下你的环境,可以实现的了。你确定在页面的DESIGNFORM里可以正常的显示出控件吗?ming