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

本文关键字:控件 分配 属性 动态 加载 用户 | 更新日期: 2023-09-27 18:25:14

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

UserControl ctrl =(UserControl) Page.LoadControl(ControlPath);
dvUserControls.Controls.Clear();
dvUserControls.Controls.Add(ctrl);

dvUserControls只是具有runat = "server" 的div

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

请告知。

谢谢Rohit

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

如果用户控制类型不可用(你说这是你的情况),你可以(也必须)使用反射

这就是它如何与我合作:

MyListControl myListControl = (MyListControl)page.LoadControl("~/Controls/MyListControl.ascx");
myListControl.SourceId = 1;
//Further Processing

在我的页面顶部,我有:

using MyProject.UI.Controls;