我正在尝试将自定义网络UserControl
添加到我的SharePoint应用程序中。我已将UserControl
添加到SharePoint WebPart,现在我正尝试在我的页面中加载该WebPart。
但是当我添加WebPart时,我得到以下异常:
The file /usercontrols/Test3Report.ascx does not exist.
但我完全确定文件和文件夹都存在。用户控件的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或者其他东西的东西。可能是吗?还是其他任何想法?
答案 0 :(得分:0)
尝试通过右键单击VS2010中解决方案资源管理器中的解决方案来添加新的自定义控件 - >添加 - >新项目,从右侧列表中选择sharepoint2010后,选择“用户控制”。 这样您的控件将自动创建,然后部署在映射的“〜/ _ControlTemplates / PROJECTNAME / UserControlNAME.ascx”文件夹中,以后可以引用该文件夹。
通过打开解决方案资源管理器下“Package”文件夹中的“.package”文件并检查用户控件是否列在“包中的项目”下,确保用户控件包含在包中。
提示:如果可能用于您的用例,您可以将目标页面置于设计模式,然后通过拖放.ascx文件来添加自定义控件,而不是以编程方式在CreateChildControls()中添加自定义控件从解决方案资源管理器到您的页面。
我希望有帮助:)