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

时间:2013-07-29 09:39:16

标签: c# dynamic-usercontrols

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

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

dvUserControls只是一个runat = "server"

的div

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

请告知。

由于 罗希特夏尔

2 个答案:

答案 0 :(得分:0)

用户控件的类型不可用(你说哪个是你的情况)你可以(并且必须)使用反射

答案 1 :(得分:0)

这是如何与我合作的:

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

在我的页面顶部,我有:

using MyProject.UI.Controls;