【问题标题】:Add user control to web part in Sharepoint 2013在 Sharepoint 2013 中将用户控件添加到 Web 部件
【发布时间】:2012-12-24 16:26:52
【问题描述】:

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

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/”等。但它们都没有任何区别。我在这里绝望了,请帮助!

【问题讨论】:

    标签: sharepoint user-controls web-parts sharepoint-2013


    【解决方案1】:

    您忘记再尝试一个选项。访问 _layouts 文件夹时也是如此。您应该指定 15 个配置单元。

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

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

    【讨论】:

    • 也试过了,还是不行。在我看来,自动生成 .g.cs 文件的工具存在一些问题。尝试重新安装VS,但这也无济于事。我决定暂时不使用 UserControls,但我知道它可能不起作用,因为我在 VS 中创建了 ControlTemplates 文件夹而不是映射文件夹。稍后再检查...
    • 这帮助我在 2010->2013 年升级“bla-bla.ascx”文件时找不到问题
    【解决方案2】:

    遇到了同样的问题。我没有看到将 15 添加到路径的建议,这对我有用。我的参考文献和你的参考文献之间的唯一区别是我一开始没有 ~。 / 是第一个字符。

    【讨论】:

      【解决方案3】:

      我有同样的问题,只有当我在后面的代码中执行它时它才有效,但我没有运气像我使用的任何其他控件一样将它添加到 ascx! - 上帝为什么Sharepoint的一切都如此不同?!!!!

      【讨论】:

        猜你喜欢
        • 2017-05-24
        • 2010-11-02
        • 2013-09-24
        • 1970-01-01
        • 2017-04-12
        • 2014-10-28
        • 2021-10-08
        • 2012-04-14
        • 1970-01-01
        相关资源
        最近更新 更多