0

我正在尝试将自定义网站添加UserControl到我的 SharePoint 应用程序。我已将我添加UserControl到 SharePoint WebPart,现在我正尝试在我的页面中加载该 WebPart。

但是当我添加 WebPart 时,我得到以下异常:

The file /usercontrols/Test3Report.ascx does not exist.

但我 100% 确定文件和文件夹都存在。到用户控件对path我来说似乎也很好。这就是我尝试加载控件的方式:

protected string UserControlPath = @"~/usercontrols/";
protected string UserControlName = @"Test3Report.ascx";

private Test3Report mycontrol;

protected override void CreateChildControls()
{
    try
    {
        mycontrol = (Test3Report)this.Page.LoadControl(UserControlPath + UserControlName);
        Controls.Add(mycontrol);
    }
    catch (Exception CreateChildControls_Exception)
    {
        exceptions += "CreateChildControls_Exception: " + CreateChildControls_Exception.Message;
    }
    finally
    {
        base.CreateChildControls();
    }
}

这对我来说似乎是正确的。我不知道为什么它抱怨我找不到Test3Report.ascx.

我读过一些关于 TrustLevel 未设置为 full 或其他内容的内容。会是这样吗?还是有其他想法?

4

1 回答 1

0

尝试通过在 VS2010 的解决方案资源管理器中右键单击您的解决方案来添加新的自定义控件 -> 添加 -> 新项目,从右侧列表中选择 sharepoint2010 后,选择“用户控件”。这样,您的控件将自动创建并稍后部署在映射的“~/_ControlTemplates/PROJECTNAME/UserControlNAME.ascx”文件夹中,以后可以引用该文件夹。

还要确保用户控件包含在包中,方法是打开解决方案资源管理器下“包”文件夹中的“.package”文件,并检查用户控件是否列在“包中的项目”下。

提示:如果您的用例可能,您可以将目标页面置于设计模式,然后通过将 .ascx 文件从解决方案资源管理器拖放到您中来添加自定义控件,而不是在 CreateChildControls() 中以编程方式添加自定义控件页。

我希望这会有所帮助:)

于 2013-01-28T13:04:25.123 回答