Page.FindControl在除Page之外的某些任意类中返回null

问题描述

||
page = (Page)HttpContext.Current.CurrentHandler;
TextBox txtEndUser = ((TextBox)page.FindControl(\"txtEndUser\"));
txtEndUser
总是为空。 我们该如何解决呢?     

解决方法

        作为一种变通方法,如果您找不到使用ѭ2的方法,则可以将public getter添加到您的自定义页面类中,如下所示:
WebForm1 myForm = (WebForm1)HttpContext.Current.CurrentHandler;
TextBox txtEndUser = myForm.GetEndUserTextbox();
    ,        如果页面不直接包含
TextBox
控件,那么您将无法使用
FindControl
函数来检索它。您需要创建一个函数来搜索包含在容器中的目标控件。     ,        在我看来,此代码段位于
HttpModule
中,因此,该请求可能尚未提交给处理程序(例如,您位于
BeginRequest
中)。 参考:为什么HttpContext.Current.Handler为null?