我在运行时添加了WebUserControl,因此我无法使用MyWebUserControl.MyFunction()
,我有一个MasterPage,我试过这个:
_MainContentPage = CType(_Page.Form.FindControl("MyContentPlaceHolder"), ContentPlaceHolder)
CType(_MainContentPage.FindControl("MyWebUserControl"), myType)
但是_MainContentPage.FindControl("MyWebUserControl")
会返回一个TableCell。
我添加WubUserControl的方式:
tcValue = New TableCell()
tcValue.Controls.Add(_Page.LoadControl("Paht/WebUserControl"))
tcValue.ID = "MyWebUserControl"
那就是因为_MainContentPage.FindControl("MyWebUserControl")
返回一个TableCell
但是如何获得Web控件并调用Fcuntion。
答案 0 :(得分:0)
将该函数作为Web方法或在asp.net http处理程序中提取该函数以进行全局访问是多么困难。我认为这样你可以做得更好,而不是使用反射和其他东西来访问它。
答案 1 :(得分:0)
解决方法是获取TableCell然后找到控件,然后调用该函数。
_MainContentPage = CType(_Page.Form.FindControl("MyContentPlaceHolder"),ContentPlaceHolder)
MyTableCell = CType(_MainContentPage.FindControl("MyWebUserControl"), TableCell)
MyWebControl = CType(MyTableCell.Controls(0), MyType)
MyWebControl.MyFunction()