我提了愚蠢的问题: 如何在 Codebehind 中访问 WebUserControl (.ascx)? 卖个关子! 答案明天揭晓! 不要骂我! 其实很简单,在 ASPX 的 HTML 里可以访问到: <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="true" Inherits="WebApplication1.WebForm1" %> <%@ Register TagPrefix="uc1" TagName="WebUserControl1" Src="WebUserControl1.ascx" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>WebForm1</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> </HEAD> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <uc1:WebUserControl1 id="WebUserControl11" runat="server"></uc1:WebUserControl1> <script language="C#" runat="server"> void Page_Load(object sender, EventArgs e) { Response.Write("HTML"); this.WebUserControl11.TextBox1.Text = "HTML"; //调用在 Codebehind 里声明的 foo 方法将 WebUserControl 传到 Codebehind this.foo(WebUserControl11); } </script> </form> </body> </HTML>