FindControl突然返回对象引用错误(ASP.NET/C#)

FindControl突然返回对象引用错误(ASP.NET/C#),c#,asp.net,findcontrol,C#,Asp.net,Findcontrol,我的Global.asax文件中有以下代码: System.Web.UI.Page webPage = (System.Web.UI.Page)System.Web.HttpContext.Current.Handler; string date = ((Literal)webPage.FindControl("ltlGenTime")).Text; 控件肯定存在于网页上,我通过检查网页对象及其基类验证了这一点,它肯定是一个文本控件 现在我做了一个改变,这似乎导致了这一点-我为我的所有页面创建

我的Global.asax文件中有以下代码:

System.Web.UI.Page webPage = (System.Web.UI.Page)System.Web.HttpContext.Current.Handler;
string date = ((Literal)webPage.FindControl("ltlGenTime")).Text;
控件肯定存在于网页上,我通过检查网页对象及其基类验证了这一点,它肯定是一个文本控件

现在我做了一个改变,这似乎导致了这一点-我为我的所有页面创建了一个母版页。但我很困惑,因为网页对象仍然有我需要列出的控件


有什么想法吗?

你的
ltlGenTime
控件在哪里?我猜是在主人身上

如果在母版页上,则需要使用

string date = ((Literal)webPage.Master.FindControl("ltlGenTime")).Text;

您的
ltlGenTime
控件在哪里?我猜是在主人身上

如果在母版页上,则需要使用

string date = ((Literal)webPage.Master.FindControl("ltlGenTime")).Text;

请注意,
FindControl
不执行递归搜索。您可能必须找到它所在的适当容器。

请注意,
FindControl
不执行递归搜索。您可能必须找到它所在的适当容器。

母版页修改页面控件层次结构,因此首先需要从母版中找到内容placeholde,然后找到实际控件-例如

Master.FindControl("YourContentPlaceholderId").FindControl("ControlName");

有关更多信息,请参阅。

母版页修改页面控件层次结构,因此首先需要从母版中找到内容placeholde,然后找到实际控件-例如

Master.FindControl("YourContentPlaceholderId").FindControl("ControlName");

有关更多信息,请参阅。

尝试使用我找到的递归FindControl函数


尝试使用我找到的递归FindControl函数