Page.FindControl在Page以外的任意类中返回null
本文关键字:Page 返回 null 任意类 FindControl | 更新日期: 2023-09-27 17:59:15
page = (Page)HttpContext.Current.CurrentHandler;
TextBox txtEndUser = ((TextBox)page.FindControl("txtEndUser"));
这里txtEndUser
总是为空。
我们如何解决这个问题?
作为一种变通方法,如果你找不到使用FindControl
的方法,你可以将公共getter添加到你的自定义页面类中,如下所示:
WebForm1 myForm = (WebForm1)HttpContext.Current.CurrentHandler;
TextBox txtEndUser = myForm.GetEndUserTextbox();
如果页面不直接包含TextBox
控件,则无法使用FindControl
函数检索它。您需要创建一个函数来搜索目标控件的包含容器。。
在我看来,这个代码片段在HttpModule
中,所以很可能,请求还没有分发给处理程序(例如,您在BeginRequest
中(。
参考:为什么HttpContext.CurrentHandler为null?