【问题标题】:ASP.NET Control Cannot Find Child Control in SharePoint Web PartASP.NET 控件在 SharePoint Web 部件中找不到子控件
【发布时间】:2012-10-09 07:37:37
【问题描述】:

主机是 SharePoint 2010,使用 VS2010 .NET 3.5。我在 Web 部件中有自定义 ASCX 控件。控件从继承自 System.Web.UI.UserControl 的 POCO 类继承。这个控件有如下代码:

protected override void OnPreRender(System.EventArgs evArgs)
        {
            var myliteral = Page.FindControl("myliteral");
            base.OnPreRender(evArgs);
        }

每个 .ascx 都有这个内容:

<asp:Literal ID="myliteral" runat="server" Visible="false"><br /></asp:Literal>

我设置了一个断点来查看 C# 代码中的“myliteral”是否会引用生成的控件,但它没有,它是空的。为什么?

谢谢。

【问题讨论】:

  • 使用.NET 4.0吗? SharePoint 2010 基于 .NET 3.5 构建,使用较新版本只会导致问题/无法正常工作。
  • 好的,设置为 .NET 3.5。问题依然存在。谢谢。

标签: asp.net sharepoint user-controls


【解决方案1】:

Page.FindControl 在嵌套容器中看起来不是递归的,所以如果 myLiteral1 在 webpart 使用的 ascx 中。

http://msdn.microsoft.com/en-us/library/31hxzsdw(v=vs.90).aspx

【讨论】:

    猜你喜欢
    • 2010-11-02
    • 1970-01-01
    • 2012-12-24
    • 1970-01-01
    • 2011-01-07
    • 2013-07-25
    • 1970-01-01
    • 1970-01-01
    • 2013-09-24
    相关资源
    最近更新 更多