要在代码隐藏中添加usercontrol,有两种方法。
所以基本上有两种不同的方法来完成同样的任务。一种方法在某些情况下是否有效而另一种方法不起作用?它们的工作方式有何不同?何时更喜欢一个而不是另一个?
答案 0 :(得分:2)
我找到了答案here
您需要了解Web自定义控件和Web自定义控件之间的区别 网络用户控制。
Web自定义控件,如WebControls(DataGrid,Button,...) 类。要创建它们,只需调用它们的构造函数:Dim b as Button = new Button()
Web用户控件由ASCX页面(包含HTML)和a定义 类。该类只是控件的代码隐藏,所以如果你 调用它的构造函数,你不创建控件。那就是 需要LoadControl方法:您传递ASCX页面的名称, 它加载了这个页面和CodeBehind类。
答案 1 :(得分:0)
LoadControl
主要用于在类型不可用时动态地将用户控件添加到页面。大多数用户控件在可更新的网站应用程序中不可用另请注意,由于类型不可用,因此很难设置动态创建的用户控件的属性。
MyControl c = new MyUserControl()
是首选,但不会阻止您执行以下操作:
MyControl c = (MyControl)Page.LoadControl('path to ascx');
但是,我认为不需要。