以编程方式在Sharepoint 2010中添加用户控件

时间:2011-10-25 15:01:22

标签: c# sharepoint

我正在尝试将自定义用户控件添加到Sharepoint 2010中可视化Web部件中的Panel,并使用以下代码行:

MyUserControl userControl = new MyUserControl();

MainContentPanel.Controls.Add(userControl);

但是,我的用户控件无法加载/渲染。单击链接按钮即可触发上述代码。

我错过了什么,或者这样做是不可能的?

2 个答案:

答案 0 :(得分:3)

由于用户控件存储在12/14配置单元中,因此需要明确引用用户控件的路径。这就是你总是需要做的原因:

private const string _ascxPath = @"~/_CONTROLTEMPLATES/ProjectFolder/controlname.ascx"; 

MyControl MyUserControl = (MyControl)LoadControl(_ascxPath);

Controls.Add(MyUserControl);

但是,您也可以通过执行类似的操作(通过放置位置确定)将其直接添加到webpart / page / control:

<%@ Register TagPrefix="MyPrefix" Namespace="MyNameSpace.MyControl"
    Assembly="MyAssemby"%>

 <MyPrefix:MyControl ID="MyId" runat="server" />

答案 1 :(得分:2)