我正在尝试将自定义用户控件添加到Sharepoint 2010中可视化Web部件中的Panel,并使用以下代码行:
MyUserControl userControl = new MyUserControl();
MainContentPanel.Controls.Add(userControl);
但是,我的用户控件无法加载/渲染。单击链接按钮即可触发上述代码。
我错过了什么,或者这样做是不可能的?
答案 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)