在C#中动态加载用户控件并分配该控件的公共属性

在C#中动态加载用户控件并分配该控件的公共属性,c#,dynamic-usercontrols,C#,Dynamic Usercontrols,我想在我的页面上动态加载用户控件。我可以借助以下代码动态加载控件: UserControl ctrl =(UserControl) Page.LoadControl(ControlPath); dvUserControls.Controls.Clear(); dvUserControls.Controls.Add(ctrl); dvUserControls只是带有runat=“server” 我的问题是,我还必须将这些值分配给控件的公共属性。我无法将我的控件注册到aspx页面 请告知 谢谢 R

我想在我的页面上动态加载用户控件。我可以借助以下代码动态加载控件:

UserControl ctrl =(UserControl) Page.LoadControl(ControlPath);
dvUserControls.Controls.Clear();
dvUserControls.Controls.Add(ctrl);
dvUserControls
只是带有
runat=“server”

我的问题是,我还必须将这些值分配给控件的公共属性。我无法将我的控件注册到aspx页面

请告知

谢谢
Rohit

如果用户控件的类型不可用(您说这是您的情况),您可以(并且必须)使用反射

这就是我的工作方式:

MyListControl myListControl = (MyListControl)page.LoadControl("~/Controls/MyListControl.ascx");
myListControl.SourceId = 1;
//Further Processing
在我的页面顶部,我有:

using MyProject.UI.Controls;

不要将其强制转换为UserControl类型,而是尝试在控件的类型中强制转换它,如:YOURCONTROL ctrl=(YOURCONTROL)Page.LoadControl(path);YOURCONTROL在我的网页中不可用如何强制转换YOURCONTROL是指控件的名称,.ascx控件的名称,它的名称必须替换为YOURCONTROL Hi Imran..是的,我知道YOURCONTROL是指我的用户comtrol的名称,但当我键入控件的名称时,它在我要动态添加控件的页面上不可用您是否通过关键字“using”在页面顶部添加了控件的名称空间?是否有其他访问方法控件的属性其他thatn反射?是的,您可以使用动态变量。另外,由于类型不可用,因此没有解决方案