1

主机是 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”是否会引用生成的控件,但它没有,它是空的。为什么?

谢谢。

4

1 回答 1

0

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

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

于 2012-10-20T20:46:41.350 回答