gpt4 book ai didi

sharepoint - 将用户控件添加到 Sharepoint 2013 中的 Web 部件

转载 作者:行者123 更新时间:2023-12-03 23:32:26 24 4
gpt4 key购买 nike

我有一个可视化 Web 部件(使用来自“添加新项目”表单的标准 Visual Stuido 2012 模板创建),只有一个 <div id="newsListDiv" runat="server"></div>元素。我想使用以下代码以编程方式将我自己的用户控件添加到它:

protected void Page_Load(object sender, EventArgs e)
{
NewsLine newsLine = Page.LoadControl(@"~/_ControlTemplates/MainTheme/NewsLine.ascx") as NewsLine;
newsListDiv.Controls.Add(newsLine);
}

但是,当我部署解决方案并将 Web 部件添加到页面时,它会显示一个错误页面,告诉我文件“/_ControlTemplates/MainTheme/NewsLine.ascx”不存在。但是,如果我查看文件夹“C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\CONTROLTEMPLATES\MainTheme”,我可以看到该文件存在于那里。我试图将信任级别设置为“完全”,但遇到了同样的错误。我还尝试在 .ascx 文件中添加用户控件,如下所示:
<%@ Register Src="~/_controltemplates/MainTheme/NewsLine.ascx" TagPrefix="uc1" TagName="NewsLine" %>

<div id="newsListDiv" runat="server">
<uc1:NewsLine runat="server" id="NewsLine" />
</div>

这样就会出现编译错误:“当前上下文中不存在名称‘InitializeControl’”。我还注意到,一旦我将 Register 或 Reference 行(带有我的用户控件的路径)添加到我的 .ascx 文件中,.g.cs 文件就会变成空白!当我删除那条线时,它会再次填满。我尝试了许多不同的路径写作,如“../_controltemplates/”、“/controltemplates/15/”等。但它们都没有任何区别。我在这里很绝望,请帮忙!

最佳答案

您忘记尝试另一种选择。访问 _layouts 文件夹时也是如此。您应该指定 15 个 hive 。

正确的路径是“~/_ControlTemplates/ 15

 NewsLine newsLine = Page.LoadControl(@"~/_ControlTemplates/15/MainTheme/NewsLine.ascx") 

关于sharepoint - 将用户控件添加到 Sharepoint 2013 中的 Web 部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14255295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com